1
我試圖讓我周圍的基於視圖NSTableViews頭在OS X基於視圖的NSTableView的外部筆尖,子視圖不會被初始化
我的問題是,在加載的觀察室(一個NSView子類)的子視圖當我嘗試在我的委託中分配值時未初始化。
此刻顯示正確的計數和正確的視圖,但我無法訪問子視圖來分配正確的值。
是我迄今所做的:
- 創造了在Interface Builder中自定義視圖細胞的廈門國際銀行。
- 創建單元格的自定義類並在IB中分配它。
這工作正常,我可以看到調試器中的屬性。正確的類 和屬性是連接到正確的字段的IBOulets。
我可以看到呼叫:
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
在我NSViewController:awakeFromNib
我做的:
// Make my view controller the delegate
_applicationTableView.delegate = self;
// set the correct datasource
_applicationTableView.dataSource = [NWDataHolder sharedInstance];
// register the nib with the custom cell
[_applicationTableView registerNib:cellNib forIdentifier:@"ApplicationListViewCell"];
在我- (NSView *)tableView:viewForTableColumn:row:
我做的:
NWApplicationListViewCell *cell = [_applicationTableView makeViewWithIdentifier:@"ApplicationListViewCell" owner:self];
返回正確的類和單元格,並且可以訪問屬性。 的問題是,子視圖未初始化,屬性是零和新的價值不能設置:
Log(@"Application Name Label %@", cell.applicationNameLabel); => nil
I`ve看到了一些跡象表明該子視圖lazyly初始化,但我不能找到一種方法做出渴望的初始化。
任何建議我做錯了什麼?
感謝, 奧利弗
您的單元格子類有一個名爲applicationNameLabel的插座,並且將它連接到xib文件中的標籤? – rdelmar 2013-02-11 00:00:05
正確。我連線了子視圖,主要是通過IB向Outlets顯示信息。我唯一偶然發現的是當我訪問這些Outlets時,當我通過'NWApplicationListViewCell * cell = [_applicationTableView makeViewWithIdentifier:@「ApplicationListViewCell」owner:self];'創建視圖時,它們不會被初始化。在此之後,子視圖仍然是零。 – Odo 2013-02-11 10:55:33