我創建了一個xib。 xib的文件所有者是一個名爲PackageTrackingListViewElement
的自定義類的集合。 PackageTrackingListViewElement
有一個名爲contentView
的IBOutlet屬性,等等。界面構建器中的幾個視圖連接到名爲PackageTrackingListViewElement
的自定義類的IBOutlet屬性。使用xib以編程方式設置IBOutlet和文件所有者導致密鑰值編碼兼容錯誤
我嘗試從xib初始化一個對象。
PackageTrackingListViewElement *element2 = [[[NSBundle mainBundle] loadNibNamed:@"PackageTrackingListViewElementXib" owner:nil options:nil] objectAtIndex:0];
[element2.labelDate setText:@"12/14/15"];
[element2.labelLocation setText:@"Berkeley, California"];
在此之後,我將element2
對象添加到UIStackView。
那我應該設置在loadNibNamed
文件所有者,這樣我就不會得到錯誤的XIB的所有者不是鍵值標準,適合我試圖訪問屬性?
我的錯誤是[<UIStackView 0x165ddc80> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key contentView.'
當我嘗試設置stackView作爲xib的所有者。我知道這當然是錯誤的,但我不能將未創建的對象設置爲它自己的所有者。我不明白該怎麼做。
我應該如何設置xib的文件所有者以使該類的屬性可以在視圖控制器中從外部訪問? – stackOverFlew