2017-02-15 103 views
1

在Ubuntu上运行swift 3.0.2。Ubuntu上的Swift:使用未声明的类型'NSFileHandle'

当我运行下面的代码

import Foundation 
let file: NSFileHandle? = NSFileHandle(forReadingAtPath: "data.txt") 

我得到

test.swift的错误:274:11:错误:使用未声明的类型 'NSFileHandle' 让文件:NSFileHandle? = NSFileHandle(forReadingAtPath:“data.txt”)

NSFileHandle在基金会的API中,但对于Linux上的基础库是否正确?

我在做什么错?

问候,

回答

1

SE-0086 Drop NS Prefix in Swift Foundation

As part of Swift 3 API Naming and the introduction of Swift Core Libraries, we are dropping the NS prefix from key Foundation types in Swift.

NSFileHandle是在列表和斯威夫特3被称为FileHandle

import Foundation 
let file = FileHandle(forReadingAtPath: "data.txt") 

这适用于苹果平台和Linux系统。 Linux实现可以在这里看到: NSFileHandle.swift

有一个关于撤消重命名和在一个更 夫特状的方式实施FileHandle(如throw荷兰国际集团代替 NSException雨燕错误)讨论[swift-evolution] Pitch: Replacement for FileHandle

相关问题