arrays - 无法在 Swift 中编译 array.writeToFile;但在 ObjC 中没关系

标签 arrays swift persistence


我将介绍 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/

相关文章:

java - 自定义异常字符串数组

ios - 从 Parse 检索应用程序中已有的联系人时遇到问题

javascript - Protractor - 比较 2 个数组的差异

javascript迭代算法接受数组中应拒绝的一半分数

java - 需要一些关于如何重玩 java 迷宫游戏的最后一局的帮助

ios - 无法将 barbuttonitem 添加到导航 Controller

ios - 如何正确配置添加到现有 TableView Controller 的搜索栏?

java - EntityManager native 查询语法?

java - 避免在聚合子模型上使用持久层

perl - 如何在 Perl 中存储引用列表?