运行 KVC 可以在 Xcode Playgrounds 中运行吗?
Can you run KVC functions in Xcode Playgrounds?
当我试图将代码输入 playground 时,我正在学习 KVC 和 KVO 教程,但它不会 运行。我收到错误 "terminating with uncaught exception of type NSException"。我什至尝试创建一个应用程序应用程序并将信息输入 viewController 以查看会发生什么,但它仍然无法构建,提供了对象不符合密钥编码的错误。我真的很想看到这个作品,我做错了什么?
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
}
添加将修复崩溃问题。
当我试图将代码输入 playground 时,我正在学习 KVC 和 KVO 教程,但它不会 运行。我收到错误 "terminating with uncaught exception of type NSException"。我什至尝试创建一个应用程序应用程序并将信息输入 viewController 以查看会发生什么,但它仍然无法构建,提供了对象不符合密钥编码的错误。我真的很想看到这个作品,我做错了什么?
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
}
添加将修复崩溃问题。