0

我想将一个对象从 fetchedResultsController 发送到自定义单元格。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
        TWMainViewExpandedCell *cell = (TWMainViewExpandedCell *)[tableView dequeueReusableCellWithIdentifier:StandardExpandedCellIdentifier];

        if (cell == nil) {
            cell = (TWMainViewExpandedCell *)[[[NSBundle mainBundle] loadNibNamed:@"MainViewStandardCellExpanded" owner:self options:nil] objectAtIndex:0];
        }

        Work *work = [_fetchedResultsController objectAtIndexPath:indexPath];
        cell.workInfo = work; // <- NSLog work.description confirms object exists!
        return cell;
// ...
}

从我的自定义单元格的 .h 和 .m 文件中

。H

@property (strong, nonatomic) Work *workInfo;

.m

- (void) awakeFromNib {
    // ...
    NSLog(@"%@", _workInfo); // <- why is this nil?
    // ...
}

_workInfo,返回零!我在这里错过了什么?如何将对象传递给我的自定义单元格?

我可以完美地设置文本标签,但不能从我的 FRC 发送对象?

谢谢!

4

1 回答 1

1

awakeFromNib在你设置之前发生workInfo(如果单元被重用,它根本不会被调用)。这里的正常做法是为workInfolike编写一个自定义属性设置器

- (void)setWorkInfo:(Work *)work
{
    if (_work != work) {
        _work = work;
        //make any Work-related updates to the cell here
    }
}

并对 setter 中的单元格进行任何与工作相关的更新。

于 2013-07-24T14:40:52.343 回答