我的保存代码如下
```
let filePath =NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask, true)[0] + "gameBrain.dat"
let successful = NSKeyedArchiver.archiveRootObject(gameBrain, toFile: filePath)
if successful {
print("success")
} else {
print("fail")
}
```
我在模拟器测试时,顺利保存成功,并显示"success",而连接实机测试时,保存失败并显示"fail",但是也没有中断退出。难道说实机无法访问这个用户路径吗?
1
machinemxy OP 自己解决了。"gameBrain.dat"应为"/gameBrain.dat"。如果不加分隔符,则会在应用目录下建立 DocumentsgameBrain.dat 文件,而不是 Documents 文件夹下建立 gameBrain.dat 。之所以模拟器可以而实机不可以是因为实机的读写权限控制比较严格导致的。
|