我正在完成 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/

10-14 21:30