Macos 得到;valueForUndefinedKey:此类不符合密钥错误的密钥值编码;使用NSArrayController时
我正在使用Swift为NSCollectionView工作。当我使用NSArrayController对象作为NSCollectionView的内容时。我得到以下错误: 引发了一个未捕获的异常 [valueForUndefinedKey:]:此类不符合key-plugName的键值编码 我不知道为什么。我创建了一个名为NHPlug的模型和一个NSArrayController,如下所示,这是我的代码:Macos 得到;valueForUndefinedKey:此类不符合密钥错误的密钥值编码;使用NSArrayController时,macos,swift,nsarraycontroller,nsstoryboard,Macos,Swift,Nsarraycontroller,Nsstoryboard,我正在使用Swift为NSCollectionView工作。当我使用NSArrayController对象作为NSCollectionView的内容时。我得到以下错误: 引发了一个未捕获的异常 [valueForUndefinedKey:]:此类不符合key-plugName的键值编码 我不知道为什么。我创建了一个名为NHPlug的模型和一个NSArrayController,如下所示,这是我的代码: /* Class NHAppController */ import Cocoa class
/* Class NHAppController */
import Cocoa
class NHAppController: NSObject {
@IBOutlet weak var arrayController: NSArrayController?
var plugs: NSMutableArray?
override func awakeFromNib() {
var t = NHPlug(plugID: 1, plugName: "test")
plugs = NSMutableArray()
arrayController?.addObject(t)
}
}
/* Class NSPlug */
import Cocoa
class NHPlug: NSObject {
var plugID : Int
var plugName : String
init(plugID: Int, plugName: String) {
self.plugID = plugID
self.plugName = plugName;
}
}
如果有人能帮忙,非常感谢强>
这里是崩溃堆栈:
-01-21 19:47:07.347 Notifyhub[58369:598950]引发了未捕获的异常2015-01-21 19:47:07.347 Notifyhub[58369:598950]
[valueForUndefinedKey:]:此类
密钥plugName不符合键值编码。2015-01-21
19:47:07.348 Notifyhub[58369:598950](0 CoreFoundation0x00007fff9220b64c例外预处理+172 1 libobjc.A.dylib
0x00007fff950966de objc_异常_抛出+43 2 CoreFoundation
0x00007fff9220b1e9-[N异常提升]+9 3基础
0x00007fff8bd6c5ed-[NSObject(NSKeyValueCoding)的未定义键的值:] + 226 4基金会0x000 7FFF8BC89E68 - [NSbObjs](NSKEY ValueCudid)ValueFoiKy:+ 385 385基金会0x000 324 6基金会0x00 00 7FFF8BCA28 -[NSObject(NSKeyValueCoding)valueForKeyPath:+272 7应用套件0x00007fff8975c8bf-[NSBinder 绑定值:ResolveMarkersTopPlaceHolders:+164 8应用套件
0x00007fff89760700-[NSValueBinder _adjustObject:mode:observedController:observedKeyPath:context:editableState:adjustState:] +302 9应用套件0x00007fff8976053b-[NSValueBinder _observeValueForKeyPath:of对象:context:+276 10应用套件0x00007fff897603ab [NSTExtValueBuffer-OnValuePraceEv.KEYPATH:OFObj:上下文:+ 43 11基金会0x00 00 7FFF8BC63C33 NSKeyValueNotifyObserver+382 12基础
0x00007fff8bc62e48 NSKeyValueDidChange+463 13基础
0x00007fff8bc679ad-[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:+118 14应用套件
0x00007fff89eb5e83-[NSCollectionView newItemForRepresentedObject:]+ 87 15应用套件0x00007fff89ebce03 -[NSCollectionView\u getItemsToDisplay]+1168 16应用套件0x00007fff89eb5595-[NSCollectionView设置内容:+217 17应用套件
0x00007fff89e8e965-[NSCollectionViewBinder\u updateContent]+93 18 应用套件0x00007fff89e8e9f0 [NScReaveVIExBiffer-ObjyTraceEffe:KEYPATH:OFObj:上下文:+ 84 19基金会0x00 00 7FFF8BC63C33 NSKeyValueNotifyObserver+382 20基金会
0x00007fff8bca22a6-[NSObject(NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:+1142 21应用工具包0x00007fff897533ba-[NSController\U notifyObserversForKeyPath:change:] +206 22应用套件0x00007fff8984f126-[NSArrayController didChangeValuesForArrangedKeys:objectKeys:indexKeys:+54 23应用套件 0x00007fff89a1dbd0-[NSArrayController _insertObject:atArrangedObjectIndex:objectHandler:+514 24 AppKit 0x00007fff89a1d82c-[NSArrayController添加对象:+153 25 Notifyhub 0x000000010000166a _TFC9Notifyhub15NHAppController12awakeFromNibfS0\u FT\u T\u+362 26 Notifyhub 0x00000001000016d2 _TTOFC9通知HUB15NHAPPController12从NIBFS0_FT_T_+34 27 CoreFoundation 0x00007fff9211983f-[NSSet]唤醒 makeObjectsPerformSelector:+223 28应用工具包
0x00007fff89ba2ffd-[NSIBObjectData NibInstanceWithOwner:选项:topLevelObjects:+1216 29 AppKit
0x00007fff89c22122-[NSNib _实例化EnibWithExternalNameTable:options:+677 30应用套件0x00007fff89c22236-[NSNib _实例化所有者:选项:topLevelObjects:+143 31 AppKit 0x00007fff89d5f36c-[NSStoryboard InstanceControllerWithiIdentifier:+181 32 AppKit
0x00007fff896afef4 NSApplicationMain+840 33 Notifyhub
0x00000001000011c2顶级代码+34 Notifyhub
0x00000001000011fa干管+42 35 libdyld.dyli
我自己得到了答案。发到这里来帮助斯威夫特的任何可怜的新人 在Swift中,KVO不再是默认支持,当您声明变量时,必须设置“动态”,如下所示:
dynamic var plugID : Int
dynamic var plugName : String
我自己得到了答案。发到这里来帮助斯威夫特的任何可怜的新人 在Swift中,KVO不再是默认支持,当您声明变量时,必须设置“动态”,如下所示:
dynamic var plugID : Int
dynamic var plugName : String
您在哪里找到此文档?您在哪里找到此文档