我正在完成 IOS Swift 教程“FoodTracker ”,但有一个错误,我可以找到解决方案,但我不明白出了什么问题以及如何修复它:
错误:
在下面的代码中为变量“Meal.ArchiveUrl.path”显示了此错误。
我的代码,在 MealtableViewController (它等于 IOS 教程):
private func saveMeals(){
let isSuccessfulSave = NSKeyedArchiver.archiveRootObject(meals, toFile: Meal.ArchiveUrl.path )
if isSuccessfulSave {
os_log("Meals successfully saved.", log: OSLog.default, type: .debug)
} else {
os_log("Failed to save meals...", log: OSLog.default, type: .error)
}
}
在 Meal.swift 上,有这样的声明:
/MARK: Archiving Paths
static let DocumentsDirectory = FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
static let ArchiveUrl = DocumentsDirectory.appendingPathComponent("meals")
有人可以帮我解决这个问题吗?
最佳答案
代码是正确的,不应该有任何错误。尝试在 ArchiveUrl 上显式设置类型,例如:
static let ArchiveUrl: URL = DocumentsDirectory.appendingPathComponent("meals")
关于IOS FoodTracker 教程 : Value of tuple type '()' has no member 'path' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47126694/