仍然无法访问要加载到自定义单元格中的变量。我有一个名为 InSeasonCell 的 xib、.h、.m。我有一个 IBOutlet InSeasonCell *_cell; 在 rootviewcontroller 的 .h 中。访问我的 productAtIndex 值时出现 lldb 错误。任何帮助都会很棒。有人告诉我阅读 Table View Programming Guide。
我创造
_dataController = [[InSeasonProductDataController alloc] init];
这是 rootviewcontroller 中的 init,但传递给另一个对象,该对象用 Product 对象填充它。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"InSeasonCell";
InSeasonCell *cell = (InSeasonCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = _cell;
_cell = nil;
}
if(_dataController!=nil){
Product *productAtIndex = [_dataController objectInListAtIndex:indexPath.row];
// Configure the cell...
cell.name.text = productAtIndex.name;
cell.week.text = productAtIndex.week;
cell.image.image = productAtIndex.image;
}
return cell;
}
我查看了我的代码,发现我正在将一个类中创建的对象传递给另一个类。例如:
-(id)initWithDataController:(InSeasonProductDataController *)dataController spinner: (UIActivityIndicatorView *)spinner{
if(self = [super init]){
_dataController = [dataController retain];
_spinner = [spinner retain];
}
return self;
}
_dataController 稍后在此方法中使用 Product 对象填充并被释放。