2011-03-01 48 views
0

定製我有自定義的UITableViewCell:ScrollViewCell初始化和加載的UITableViewCell

我想知道有什麼區別下面的代碼

static NSString *CellIdentifier = @"ScrollViewCell"; 
ScrollViewCell *cell = (ScrollViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 

    //***** WHAT IS THE DIFFERENCE BETWEEN THIS CODE AND.. 
    NSArray *xibObj = [[NSBundle mainBundle] loadNibNamed:@"ScrollViewCell" owner:nil options:nil]; 
    for(id currentObj in xibObj){ 
     if ([currentObj isKindOfClass:[ScrollViewCell class]]) { 
      cell = (ScrollViewCell *) currentObj; 
     } 
    } 
    //***** ..THIS CODE 
    cell = [[ScrollViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 

哪一個我應該使用,爲什麼之間?

回答

0

第一個示例將從應用程序捆綁中的.xib文件加載單元。每個單元格可以處理它自己的代碼,並且行爲很像0​​。當您嘗試從數組加載數據時,此方法可能會變得複雜。您必須將獲取數據的對象傳遞給單元格,並在開始編碼之前有一個非常清晰的設計。

另一種方法正常情況下分配UITableViewCell類的空實例。這種方法通常用於單元的編程配置。你可能會在大多數地方看到這個。

祝你好運,

奧羅拉奎拉