我确信答案很简单,但我看不出我做错了什么。
我有两个一对多的相关表格:
Entities Users <--> Kind
attributes userName kindName
Relationship hasKinds forUser
在我UITableViewCell
我已将TextLabel设置为user,我尝试将detailTextLabel
设置为相关类型,但它不会让我。
以下是代码:
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath{
Users *users = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = users.userName;
cell.detailTextLabel.text = [users.hasKinds.kindName];
}
错误是:
在'NSSet *'
类型的对象上找不到属性'kindName'
答案 0 :(得分:0)
似乎users.hasKinds
不是预期类型Kind
,而是NSSet *
类型。
检查users.hasKinds
属性/方法。
答案 1 :(得分:0)
用户和善良之间存在一对多或多对多的关系。它的接缝就像用户可以拥有多种类型。因此,如果您要求使用各种类型的用户,您将获得所有类型的集合。
您现在可以打印包含所有类型用户的字符串,如下所示:
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath{
Users *users = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = users.userName;
NSMutableString *kindsString = [NSMutableString string];
for (Kind *kind in user.hasKinds) {
[kindsString appendString:kind.kindName];
}
cell.detailTextLabel.text = kindsString;
}