2011-11-02 82 views
6

幾天前,我看了視頻教程,解釋瞭如何在UITableViewController中使用自定義單元格。我已經瞭解到,我可以直接在界面生成器中準備一個自定義單元,所以我做了如下操作:如何將IBOutlet從UITableViewController直接連接到自定義單元格?

我創建了一個UITableViewController並連接了由IBOutlet(UILabel)組成的自定義類。之後,我切換了故事板,並用UILabel準備了我的自定義單元格。最後,我將UITableViewController的標籤直接連接到我的自定義單元格。

會出現以下情況:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400724860 <IBProxyObject: 0x4007872c0> => productLabel => <IBUIImageView: 0x401080220>> 

是不是可以直接連接呢?在WWDC 2011部分(Session#309)的教程視頻中,他們完成了我所做的工作。但有一個鉤子:它們不顯示代碼,它們只是像我上面解釋的那樣連接它。

爲了更好地理解我加一個屏幕快照,顯示了,我連: enter image description here

回答

3

其實,

我已經看到了視頻和他們沒有連接你建議的方式。它們正在從單元連接到單元中的UILabel。換句話說,它們具有UITableViewCell的子類,並將自定義對象中的這些IBOutlet連接起來。在它的基本形式中,你可以創建一個自定義的單元類,只需聲明界面併合成屬性,你應該很好。只要確保在故事板中正確設置了標識符和自定義類。

希望這會有所幫助。

+0

是的,這是正確的。這很可能是UITableViewCell的一個子類。 – Simon

+0

我再次觀看了視頻。你是對的!我的錯。抱歉。我的下一個問題是我如何填充數據的單元格(屬性移動到TableCell.h,所以我無法在UITableViewController中的-cellForRowAtIndexPath:(NSIndexPath *)indexPath中訪問它們)。如果你知道一個快速答案,那麼不用問,否則我會問Google,我確定有人問過這個問題; o) –

+0

如果有人遇到同樣的問題,我在上面的評論中解釋過,請參閱:http ://www.youtube.com/watch?v = d_kO-J3DYvc –

4

我原來是在this question是同樣的問題。正如我的問題的回答者所說,問題在於這裏的單元是一個原型單元。單元格元素和UITableViewController之間的連接對靜態單元格的表格視圖工作良好,因爲它們是在啓動時創建的,但它對原型單元格沒有意義,因爲它們中的很多可能會被創建......並且它們不會直到調用cellForRowAtIndexPath。 (這是一個非常糟糕的錯誤消息,Xcode可能不應該讓你這樣非法連接。)

相關問題