我将介绍 Swift 中的各种 Cocoa 持久存储方案。
Objective-C 版本编译时没有意外:
NSArray *ricArray = @[@"One",@"Two",@"Three"];
[ricArray writeToFile:@"path" atomically:true];
然而,
Swift 版本不工作。
编译器不相信数组有'writeToFile'。
let docs = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true) as Array
let pathToFile = docs[0].stringByAppendingString("/myFile.txt")
var shoppingList:[String] = ["Eggs", "Milk"]
shoppingList.writeToFile(pathToFile, atomically:true)
...swift:267:5: '[String]' does not have a member named 'writeToFile'
我做错了什么?
最佳答案
[String]
是 swift 的原生 Array
实现,而不是 NSArray
; swift 的Array
没有writeToFile()
方法。但是,您可以轻松地在两者之间进行转换。这应该有效:
var shoppingList:[String] = ["Eggs", "Milk"]
(shoppingList as NSArray).writeToFile(pathToFile, atomically:true)
关于arrays - 无法在 Swift 中编译 array.writeToFile;但在 ObjC 中没关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356253/