Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 你能在Xcode操场上运行KVC功能吗?_Swift_Kvc - Fatal编程技术网

Swift 你能在Xcode操场上运行KVC功能吗?

Swift 你能在Xcode操场上运行KVC功能吗?,swift,kvc,Swift,Kvc,当我试图将代码输入到一个游乐场时,我正在遵循一个关于KVC和KVO的教程,但是它不会运行。我收到错误“以NSException类型的未捕获异常终止”。我甚至尝试创建一个应用程序,并将信息输入到viewController中,以查看发生了什么,但它仍然无法生成,这提供了一个错误,即对象不符合密钥编码。我真的很想看看这部作品,我做错了什么 import UIKit import Foundation //this is a reference object which means when it

当我试图将代码输入到一个游乐场时,我正在遵循一个关于KVC和KVO的教程,但是它不会运行。我收到错误“以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
}

添加该选项将修复崩溃。

您的问题与使用游乐场无关。无论在何处运行,都会出现错误:“NSUnknownKeyException”,原因:“[setValue:forUndefinedKey:]:该类不符合键值编码的键名要求。”“我认为从NSObject进行子类化可以处理与Objective-C运行时的接口?这不是事实吗?或者曾经是事实吗?非常感谢!我在读书,也遇到了这个问题。