我第一次使用iphone 6模拟器时,我的代码运行良好。但是当我用模拟器iphone 5运行它时,它会抛出一个错误 "致命错误:在展开可选值"
时意外发现nil这是抛出错误的代码行:
let futsalCenterData: [NSData] = NSArray(contentsOfURL: self.dataFileURL()) as! [NSData]
是因为它已经在iphone 6模拟器中写入文件了,该文件只能在iphone 6模拟器中使用吗?如果是这样的情况,那么如果在其他模拟器中不存在,我怎么能创建一个呢?以及如何在iphone中使用此功能?
这是加载器中找到url的函数:
func dataFileURL() -> NSURL {
//finding the file
let documentsDirectory: NSURL = fileManager.URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask ).first!
//create a new null file called data.plist
let filePath: NSURL = documentsDirectory.URLByAppendingPathComponent("data.plist")
return filePath
}
这是读取文件的函数:
func readFutsalCenterFromFile() -> [FutsalCenter] {
//this line below that throws an error
let futsalCenterData: [NSData] = NSArray(contentsOfURL: self.dataFileURL()) as! [NSData]
i
var futsalCenter: [FutsalCenter] = []
for data in futsalCenterData{
let futsal: FutsalCenter = NSKeyedUnarchiver.unarchiveObjectWithData(data) as! FutsalCenter
futsalCenter.append(futsal)
}
return futsalCenter
}