用户定义的运行时属性不存在

时间:2019-01-11 14:54:49

标签: objective-c macos nsview

我有一个简单的Mac应用程序,在打开文档时收到以下错误: 无法在(PKMPDFView)上设置(allowsDragging)用户定义的检查属性:[setValue:forUndefinedKey:]:此类与键allowDragging的键值编码不兼容。

如果我拦截了“设置”尝试,我会发现它是在笔尖加载期间源自方法-[NSIBUserDefinedRuntimeAttributesConnector EstablishmentConnection] 的。

完整跟踪:

0   PDFApp                              0x0000000100003592 -[PKMPDFView setValue:forUndefinedKey:] + 49
1   Foundation                          0x00007fff309b8dde -[NSObject(NSKeyValueCoding) setValue:forKey:] + 331
2   AppKit                              0x00007fff2c08af15 -[NSView setValue:forKeyPath:] + 394
3   AppKit                              0x00007fff2c00d029 -[NSIBUserDefinedRuntimeAttributesConnector establishConnection] + 637
4   AppKit                              0x00007fff2bdd9719 -[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 1430
5   AppKit                              0x00007fff2bdd0991 loadNib + 435
6   AppKit                              0x00007fff2bdcfeb5 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 696
7   AppKit                              0x00007fff2c005aba +[NSBundle(NSNibLoadingInternal) _loadNibFile:externalNameTable:options:withZone:] + 150
8   AppKit                              0x00007fff2c005893 -[NSWindowController loadWindow] + 322
9   AppKit                              0x00007fff2be18cf5 -[NSWindowController window] + 84
10  AppKit                              0x00007fff2bfd8134 -[NSWindowController showWindow:] + 36
11  AppKit                              0x00007fff2be18c7a -[NSDocument showWindows] + 116
12  PDFApp                              0x0000000100002e75 -[PKMPDFDocument showWindows] + 50
13  AppKit                              0x00007fff2c35f13e __80-[NSDocumentController openDocumentWithContentsOfURL:display:completionHandler:]_block_invoke.1039 + 182
14  AppKit                              0x00007fff2c36ef70 ___NSMainRunLoopPerformBlock_block_invoke + 25
15  CoreFoundation                      0x00007fff2e897a3c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
16  CoreFoundation                      0x00007fff2e87a973 __CFRunLoopDoBlocks + 275
17  CoreFoundation                      0x00007fff2e879ffe __CFRunLoopRun + 1278
18  CoreFoundation                      0x00007fff2e879867 CFRunLoopRunSpecific + 487
19  HIToolbox                           0x00007fff2db59d96 RunCurrentEventLoopInMode + 286
20  HIToolbox                           0x00007fff2db59b06 ReceiveNextEventCommon + 613
21  HIToolbox                           0x00007fff2db59884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
22  AppKit                              0x00007fff2be09a73 _DPSNextEvent + 2085
23  AppKit                              0x00007fff2c59fe34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
24  AppKit                              0x00007fff2bdfe885 -[NSApplication run] + 764
25  AppKit                              0x00007fff2bdcda72 NSApplicationMain + 804
26  libdyld.dylib                       0x00007fff56848015 start + 1

让我感到困惑的是,PKMPDFViewNSView的直接子类,并且在正在加载的.xib文件中没有与之关联的用户定义属性。该视图也没有在.xib中定义的出口,而只是其文档中的引用出口(contentView)。在我的开发目录中运行find / grep不会在任何地方找到“ allowsDragging”的实例。同样,使用字符串实用程序不会在生成的应用程序中显示“ allowsDragging”。

我尝试了所有标准项目的清洁操作,但症状没有改变。

此刻,我很想简单地重写setValue:forUndefinedKey:并忘记它,但是我仍然很好奇。是否有人知道这是哪里来的信息或猜测?

(这很重要,这是macOS 10.13.6上的Xcode 10.1。)

0 个答案:

没有答案