2013-03-18 33 views
2

我已經閱讀了一些問題,我發現一些很混亂,我不知道他們是否回答我的問題。獲取NSCollectionViewItem NSButton的表示對象值點擊

我有一個NSCollectionView實施並連接到Core Data context,一切都顯示正確。

現在我所擁有的buttonsview prototype,當我點擊這個按鈕時,我需要獲得該克隆視圖的representedObject的值。

我已閱讀和閱讀,有些部分讓我感到困惑,所以我正在尋找一個簡單的解釋。

謝謝你的時間。

回答

8

的動作方法使用一個參數:

- (IBAction) collectionViewButtonClicked:(id)sender { 
} 

sender是對照或其他UI元素髮送該消息(例如,菜單項)。

有了這個參數,當你的動作方法被調用時,你知道哪個按鈕被點擊了。

按鈕是一種控件,每個控件至少由一個單元格支持。細胞也代表了對象。

因此,首先將按鈕單元格的表示對象設置爲擁有該按鈕的集合視圖項目。 (你可以在nib編輯器中做到這一點。)然後,在你的action方法中,獲取按鈕的單元格,然後獲取單元格的表示對象(這是項目),然後是項目的表示對象。

如果representedObject插座沒有顯示在筆尖編輯器中,您可能選擇了按鈕,而不是它的單元格。我建議使用左下角的按鈕打開筆尖編輯器的輪廓視圖,然後永遠不要關閉它。

+0

嗨,彼得,謝謝你的時間和你的回答,你非常清楚!我會測試你的答案,這可能是我所追求的。再次感謝。 – Rageofflames 2013-03-18 09:43:34

+0

再次彼得,你的解決方案工作得很好,非常感謝你的時間和精力,以一種簡單易懂的方式來解釋我的一切。我不能投票你的答案,因爲我在這裏是新的,但我會標記它有一個答案和一個很好的答案,我相信更多的人會使用它。再次感謝。 – Rageofflames 2013-03-18 14:50:45

+1

'DesiredItem * myItem = [[[sender cell] RepresentObject] presentedObject];' – 2014-07-03 14:35:21