fetchedResultsController 和 Integer

Posted

技术标签:

【中文标题】fetchedResultsController 和 Integer【英文标题】:fetchedResultsController and Integer 【发布时间】:2012-05-01 05:20:25 【问题描述】:

我正在从包含两个字符串和一个整数的实体更新 TableViewController。字符串正常工作整数没有。这是我的代码;

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"Cell";
    UsersCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (!cell) 
        cell = [[GolfersCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    

    Users *users = [_fetchedResultsController objectAtIndexPath:indexPath];

    cell.firstName.text = users.firstName;
    cell.lastName.text = users.lastName;
        int i = [users.gendID intValue] ;
    cell.genID.text = [NSString stringWithFormat:@"%d", i];

    [self configureCell:cell atIndexPath:indexPath];

    return cell;

现在这确实有效,注释掉“int i = [users.gendID intValue] ;”这一行将其留在其中并单步执行程序会返回它返回的错误;

2012-04-30 16:49:02.369 My App [9757:fb03] -[Users gendID]: unrecognized selector sent to instance 0x6b8a6c0
2012-04-30 16:49:02.373 My App[9757:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Users gendID]: unrecognized selector sent to instance 0x6b8a6c0'
*** First throw call stack:
(0x16b0022 0x1841cd6 0x16b1cbd 0x1616ed0 0x1616cb2 0x3a6d 0xb5c54 0xb63ce 0xa1cbd 0xb06f1 0x59d21 0x16b1e42 0x2068679 0x2072579 0x1ff74f7 0x1ff93f6 0x1ff8ad0 0x168499e 0x161b640 0x15e74c6 0x15e6d84 0x15e6c9b 0x15997d8 0x159988a 0x1b626 0x28bd 0x2825)
terminate called throwing an exception(lldb)

【问题讨论】:

【参考方案1】:

除了 Lightforce 的建议之外,您不应该在两个地方加载单元格内容。在设置名字、姓氏和 genID 后,您的代码然后调用索引路径处的配置单元。问题可能出在那个方法上。将您的设置代码放在一个地方或另一个地方,但不要在两种方法之间传播。

【讨论】:

【参考方案2】:

对我来说,这看起来像是一个错字。在您的代码中,用户属性名称是 genID,而您的单元格的属性是 genID。 “发送到实例的无法识别的选择器”意味着没有为该类定义这样的方法。验证您的 Users 类确实包含名为“gendID”的方法/属性。

【讨论】:

以上是关于fetchedResultsController 和 Integer的主要内容,如果未能解决你的问题,请参考以下文章

FetchedResultsController 中没有部分

如何将对象从 fetchedResultsController 到 Plist?

fetchedResultsController 对象的表视图部分

fetchedResultsController 和 Integer

将 fetchedResultsController 更改为 protected from private

将 fetchedResultsController 与 swift3 一起使用