我正在查看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;
答案 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
。