2012-11-21 23 views
1

我對代理對象非常困惑,尤其是File's Owner。到目前爲止,我已閱讀this以便能夠理解文件的所有者的概念。到目前爲止,我能夠從理論上理解它。將文件所有者設置爲CustomClass或NSObject?

爲了更好地理解,我嘗試使用IB創建一個CustomCell,它是UITableViewCell的子類。然後,我創建了一個UITableView以使用我的CustomCell。到目前爲止,我能夠使其工作。

我構建這個項目,觀察如何使用File's Owner以及它如何影響.XIB文件。但是,它比以前造成更多的困惑。因爲,如果我將File's owner custom class設置爲CustomCell或者不更改默認類,則不會產生任何影響。默認情況下,它是NsObject

所以,我的問題是,在這種情況下,我需要將我的File's owner custom class設置爲由我創建的類。或者,它總是應該設置爲默認值。爲什麼我需要改變這個班級?

我已經完成了關於Web和SO的研究。但是,我沒有找到這個問題的任何解決方案。

謝謝。

+0

所有Objective-C類的根類都是NSObject,它是Foundation框架的一部分。但UITableViewCell是從/System/Library/Frameworks/UIKit.framework ..我不知道..等待一個答案! – Bala

+0

我也爲我的* GridView *使用'CustomTableViewCell',在那裏我提到'RootViewController'它爲我工作。 – Praveenkumar

+0

它的工作原理,我只是想了解何時需要將「文件所有者」類設置爲不同的類。請仔細閱讀我的問題請輸入 – limon

回答

0

當您需要在IBOutlets或該類的屬性中設置值時,您將文件所有者設置爲自定義類。否則XIB無法瞭解它們。

例如,當你實例化一個myViewController時,它是XIB文件的所有者,並且裏面指定的UIView被實例化並且它的指針存儲在「view」屬性中。如果您在XIB中有一個自定義按鈕,它將實例化其存儲在IBOutlet myButton中的指針。

+0

我認爲您的第一句話並非完全正確,下面給出示例,假設我有'CustomCell.h/.m'和'CustomCell.xib'。即使我沒有觸碰'File's Owner'對象,我仍然可以通過在'CustomCell.xib'中設置自定義類來設置** IBOutlets **的值。你不覺得嗎? – limon

+0

當您通過Xcode的「新文件」菜單項創建XIB的這種自定義類時,Xcode會爲您預設文件所有者的類。如果文件的所有者被設置爲您繼承的標準類,則可以從該類訪問IBOutlet,然後繼續繼承樹。 –

相關問題