Apple的AdvancedTableViewCells问题

时间:2010-01-16 06:19:47

标签: objective-c iphone

我正在查看Apple的“AdvancedTableViewCells”示例项目,在查看RootViewController时,我注意到IndividualSubviewsBasedApplicationCell的nib加载。我想知道那个笔尖加载......它装入的是什么?没有句柄/变量。我理解下面的行通过IBOutlet将细胞分配给视图,但我不理解这一行:[[NSBundle mainBundle] loadNibNamed:@"IndividualSubviewsBasedApplicationCell" owner:self options:nil];

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

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

    if (cell == nil) {

#if USE_INDIVIDUAL_SUBVIEWS_CELL
        [[NSBundle mainBundle] loadNibNamed:@"IndividualSubviewsBasedApplicationCell" owner:self options:nil];
        cell = tmpCell;
        self.tmpCell = nil;

1 个答案:

答案 0 :(得分:3)

见Jeff LaMarche的文章Table View Cells in Interface Builder - the Apple Way™

在NIB文件IndividualSubviewsBasedApplicationCell中,“文件所有者”设置为RootViewController,自定义UITableViewCell连接到tmpCell IBOutlet { {1}}。

在行中:

RootViewController

...捆绑加载程序加载NIB文件并连接所有出口。完成此操作后,[[NSBundle mainBundle] loadNibNamed:@"IndividualSubviewsBasedApplicationCell" owner:self options:nil]; tmpCell现在指向我们的自定义IBOutlet