我在跟踪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相关问答推荐

依赖于@Environment的init@StateObject

我在SwiftUI中的动画无法正常工作

如何在SWIFT Memory中处理对VAR数组的更新(对COW感到困惑)

可选,类似于自定义类型的初始化

Result类型的初始值设定项失败?

有条件地在同一视图上设置两个不同的过渡

如何绑定环境变量ios17

Swift Property Wrappers-Initialization 失败并显示无法将‘Double’类型的值转换为预期的参数类型

Swift // Sprite Kit:类别位掩码限制

Swift-SceneKit-无法从art.scnassets加载.scn文件

为什么 Apple Scrumdinger Sample App 使用两个事实来源?

在 Swift 中实现自定义异步序列

为什么 Swift Tuples 只能在元素个数小于等于 6 的情况下进行比较?

AVPlayer 在 iOS 15.4 中寻求 completionHandler 返回 false

UnkeyedEncodingContainer 和 KeyedEncodingContainerProtocol 中的 superEncoder 是什么?

无法从自定义动态框架(Swift)访问类

Swift - 获取本地日期和时间

'#selector' 的参数不引用 '@objc' 方法、属性或初始化程序

Xcode6 中的 Swift 类与 Cocoa Touch 类

设置`UITextView`和`UITextField`的最大字符数