2017-02-15 5 views
1

am running swift 3.0.2 на Ubuntu.Swift on Ubuntu: использование незаявленного типа «NSFileHandle»

когда я запускаю следующий код

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

Я получаю сообщение об ошибке из

test.swift: 274: 11: ошибка: использование необъявленных типа '' NSFileHandle пусть файла: NSFileHandle? = NSFileHandle (forReadingAtPath: "data.txt")

NSFileHandle в API для Foundation, правда ли это для библиотеки Foundation в 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 находится в этом списке и называется FileHandle в Swift 3:

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

Это относится к платформам компании Apple и Linux. Реализация Linux можно увидеть здесь: NSFileHandle.swift.

Существует обсуждение [swift-evolution] Pitch: Replacement for FileHandle о расстегивать переименования и реализации FileHandle в более Свифта-подобным же образом (например, throw ING Swift ошибки вместо NSException с).