我在跟踪a tutorial titled "Swift Tutorial for iOS : NSFileManager Persisting Data",在29分钟前后遇到了一个错误.当我try 在iOS模拟器上运行它时,我收到错误:

由于未捕获的异常"NSUnknownKeyException"而终止应用程序,原因:"[setValue:forUndefinedKey:]:此类不符合key-theLoadMethod的键值编码."

显然,基于这个错误,我认为问题在于我的theLoadMethod.以下是我在ViewController中作为该项目的一部分编写的代码:

let theDocumentsFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let theFileName     = "/theUserFile.txt"
let thePath         = theDocumentsFolder.stringByAppendingString(theFileName)


class ViewController: UIViewController {

@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var lastNameTextField: UITextField!
@IBOutlet weak var ageTextField: UITextField!

@IBOutlet weak var theLabel: UILabel!

// The save method
@IBAction func theSaveMethod(sender: AnyObject) {
    var name        = nameTextField.text
    var lastName    = lastNameTextField.text
    var age         = ageTextField.text

    var theString   =   "The user's information is: \(name), \(lastName), \(age)"

    let theFileManager = NSFileManager.defaultManager()

    if !theFileManager.fileExistsAtPath(thePath) {

        var writeError:NSError?
        let fileToBeWritten = theString.writeToFile(thePath, atomically: true, encoding: NSUTF8StringEncoding, error: &writeError)

        if writeError == nil {
            println("No errors. Added: \(theString)")
        } else {
            println("Encountered an error. Error is: \(writeError)")
        }

    } else {
        println("File already exists")
    }

    nameTextField.resignFirstResponder()
    lastNameTextField.resignFirstResponder()
    ageTextField.resignFirstResponder()
}

@IBAction func theLoadMethod(sender: AnyObject) {
    let infoFromFile:String = String.stringWithContentsOfFile(thePath, encoding: NSUTF8StringEncoding, error: nil)!

    theLabel.text = infoFromFile
}

我做错什么了吗?据我所知,我所有的iOS屏幕元素都被正确命名和链接.

推荐答案

这通常是由从故事板到不存在的属性的链接引起的.仔细判断故事板中对象的所有链接.此外,如果更改了属性或方法的名称或拼写,它仍然可以引用旧属性或方法.

Swift相关问答推荐

在视图中设置所有变量

Swift中的分段错误

如何从 Swift 中的字符串中删除变音符号?

否定 #available 语句

Xcode 11.4 编译错误'缺少包产品<包名称>'

Firebase Analytics setScreenName 已弃用

在 SwiftUI 中更改 TextEditor 的背景 colored颜色

Swift 中构造的泛型类型的扩展

如何在 SwiftUI 中分配可选的 Binding 参数?

我可以在 Swift 中为泛型类型 T 分配默认类型吗?

数据输入自定义视图的 Swift 示例(自定义应用内键盘)

Xcode 11 beta swift ui 预览未显示

SwiftUI 使用 ForEach 遍历字典

UIApplication.shared.delegate 等效于 SceneDelegate xcode11?

SwiftUI 中的约束有什么用?

Xcode 一直显示:-1: SWIFT_VERSION '5.0' is unsupported, 支持的版本是:3.0, 4.0, 4.2.任何解决方案?

用于字符串资源格式的自定义 Swift 编码器/解码器

为什么以及何时在 Swift 中对 Array 使用惰性?

类型“Notification.Name”(又名“NSNotification.Name”)没有成员“UIApplication”

如何使关联值相等的 Swift 枚举