我有一個視圖用於每個CollectionView的項目中。我從視圖中獲取了CollectionViewItem的一個IBOutlet,並且我將它嵌入到Interface Builder中。我想從我的視圖代碼中的mappedObject(它是一個核心數據對象)中訪問一個值。這裏是什麼,我試圖做一個例子 - 訪問representedObject的序列值:如何從NSCollectionViewItem的視圖中獲取representationObject?
在.h文件:
IBOutlet NSCollectionViewItem *item; // Connected in IB
在.m文件
NSString *seq = [[item representedObject] valueForKey:@"seq"];
NSLog(@"Seq: %@", seq); // returns Seq: (null)
我知道seq是填充的,因爲我已經綁定到IB中的CollectionViewItem視圖中的標籤,使用representObject.seq鍵路徑並且工作正常。
任何想法爲什麼當我嘗試訪問視圖的代碼中的seq值時,它返回null?
謝謝你,這個伎倆。 – Austin 2009-07-14 23:06:49
我很困惑這個答案。首先,@ kperryua聲明「訪問NSCollectionViewItem實例的典型模式是綁定到原型,你提到你做了這個並且它可以工作。」但@奧斯汀的問題只提到使用「representObject.seq鍵路徑」,事實上很難看到如何將collectionView的itemPrototype綁定到collectionViewItem的視圖。我說這是不可能的,但我很高興被證明是錯誤的。其次,Apple的文檔NSObject的copyWithZone:明確指出「你不應該重寫此方法。」 – 2010-01-12 07:33:50