2014-04-08 153 views
0

我想用故事板製作的UITableView爲PIC顯示:的UITableViewCell在故事板未初始化

enter image description here

和ITViewController.m委託方法是如下:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 3; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    ITTableViewCell *cell = (ITTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"ITTableViewCell"]; 

    return cell; 
} 

當我跑了我的應用程序,我得到了錯誤:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:' 

看來t沒有單元格已經初始化,我該如何解決這個問題? THKS!

+1

您單元的標識必須是「ITTableViewCell」在你的故事板。 – Rajesh

+0

故事板使它非常簡單 - 所有你需要檢查的是,在故事板指定重用標識符你'ITTableViewCell'是'@「ITTableViewCell」'。 – dasblinkenlight

+0

@rajesh我已經通過設置標識符解決了。由於某種原因隱藏了tableviewcell的屬性列表,我沒有看到標識符屬性。 THKS! – itenyh

回答

-1

,你可以像這樣初始化單元:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"ITTableViewCell";  

    UTTableViewCell *cell = (UTTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if(cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    return cell; 
} 
+1

沒有必要有一個,如果(細胞==零)如果電池在故事板製作子句 - 它永遠不會是零(假設你使用正確的標識符)。 – rdelmar

+0

是的,這是做舊的方式,你不再需要那樣做 – meda

相關問題