继续在arrayController上获取NSMultipleValuesMarker <multiple values =“”marker =“”> valueForKeyPath:</multiple>

时间:2014-04-24 15:37:02

标签: cocoa binding cocoa-bindings

此代码适用于表格中的单个选择或多个选择,并且所选对象的值相同。

NSNumber *currentValue = (NSNumber *)[mArrayController valueForKeyPath: mBindingKeyPath];

但是如果我对所选对象有多个不同值的选择,我会收到此错误并崩溃 - 这是正确的,因为我的表中有多个选择。 但是我当然不想崩溃,而是将选择作为一个数组或它应该如何工作?

2014-04-24 17:20:33.167 DC MacOSX[5746:303] -[_NSStateMarker floatValue]: unrecognized selector sent to instance 0x1006135a0
2014-04-24 17:20:33.168 DC MacOSX[5746:303] -[_NSStateMarker floatValue]: unrecognized selector sent to instance 0x1006135a0
2014-04-24 17:20:33.170 DC MacOSX[5746:303] (
0   CoreFoundation                      0x00007fff8b71bb06 __exceptionPreprocess + 198
1   libobjc.A.dylib                     0x00007fff850b03f0 objc_exception_throw + 43
2   CoreFoundation                      0x00007fff8b7b240a -[NSObject(NSObject) doesNotRecognizeSelector:] + 186
3   CoreFoundation                      0x00007fff8b70a02e ___forwarding___ + 414
4   CoreFoundation                      0x00007fff8b709e18 _CF_forwarding_prep_0 + 232
5   Dreamcatcher MacOSX                 0x0000000100066199 -[CustomNSSliderJoystick1D mouseDragged:] + 434
6   AppKit                              0x00007fff89a60b81 -[NSWindow sendEvent:] + 8504

7   AppKit                              0x00007fff89a5c644 -[NSApplication sendEvent:] + 5761

1 个答案:

答案 0 :(得分:2)

谷歌: &#34; NSArrayController类引用&#34;

查找:selectedObjects:

NSArrayController实例方法是您要用于查询选择的方法。绑定保证阵列控制器处于状态,它匹配绑定它的任何东西,通常是视图。但是绑定它的全部意义在于,您可以使用NSArrayController方法来访问该状态。

这个答案看起来很轻浮 - 让我为你做谷歌 - 但你是新手,而尤其是使用OSX API,你会指的是developer.apple。 com类一直引用。 AppKiDo和Dash是很好的工具。

您还会发现isKindOfClass有用。