Swift 你能在Xcode操场上运行KVC功能吗?
当我试图将代码输入到一个游乐场时,我正在遵循一个关于KVC和KVO的教程,但是它不会运行。我收到错误“以NSException类型的未捕获异常终止”。我甚至尝试创建一个应用程序,并将信息输入到viewController中,以查看发生了什么,但它仍然无法生成,这提供了一个错误,即对象不符合密钥编码。我真的很想看看这部作品,我做错了什么Swift 你能在Xcode操场上运行KVC功能吗?,swift,kvc,Swift,Kvc,当我试图将代码输入到一个游乐场时,我正在遵循一个关于KVC和KVO的教程,但是它不会运行。我收到错误“以NSException类型的未捕获异常终止”。我甚至尝试创建一个应用程序,并将信息输入到viewController中,以查看发生了什么,但它仍然无法生成,这提供了一个错误,即对象不符合密钥编码。我真的很想看看这部作品,我做错了什么 import UIKit import Foundation //this is a reference object which means when it
import UIKit
import Foundation
//this is a reference object which means when it is copied, it will copy a reference to the same instance and not a brand new value like a value type does
class Student: NSObject {
var name: String = ""
var gradeLevel: Int = 0
}
let seat1 = Student()
seat1.setValue("Kelly", forKey: "name")
你的问题不是操场。您的问题是,要使用Objective-C KVC机制,需要使用
@objc
标记属性
class Student: NSObject {
@objc var name: String = ""
var gradeLevel: Int = 0
}
添加该选项将修复崩溃。您的问题与使用游乐场无关。无论在何处运行,都会出现错误:“NSUnknownKeyException”,原因:“[setValue:forUndefinedKey:]:该类不符合键值编码的键名要求。”“我认为从NSObject进行子类化可以处理与Objective-C运行时的接口?这不是事实吗?或者曾经是事实吗?非常感谢!我在读书,也遇到了这个问题。