我有一个关于我想与 CoreData 一起使用的相当高级的 DataModel 的问题。
在详细介绍我到目前为止所做的事情之前,我将描述我想要做的事情。
我有一份入住一个房间并有偏好的酒店客人名单。一旦准备就绪,用户应该选择一个客人并查看数据,还应该能够添加新客人,选择房间(也由应用程序维护)并选择他们的偏好(用户还可以添加新的偏好)。客人可以没有或有很多偏好。
这就是我到目前为止所拥有的。我创建了 3 个实体: - 带有房间号的房间 - 带有名称的首选项 - 带有名称的 GuestInfo -> 带有这些关系房间(目标房间)和首选项(具有“对多关系”的目标首选项)当您创建托管时,首选项是一个 NSSet对象类。
到目前为止,一切都很好。现在我有一个显示所有来宾的 UITableViewController,当我单击一个来宾时,我有另一个 UITableViewController 显示详细信息(DetailsViewController)。单击首选项它将转到另一个 UITableViewController,我可以在其中选择首选项。我遇到的问题是当我想实际访问 DetailsViewController 中的首选项时。这是我的 cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
switch (indexPath.row)
{
case 2:
cell.textLabel.text = @"Preferences";
NSEnumerator *e = [info.prefs objectEnumerator];
id collectionMemberObject;
while ( (collectionMemberObject = [e nextObject]) )
{
Preferences *prefInfo = collectionMemberObject;
DebugLog(@"===> %@", prefInfo.name);
}
break;
}
info 是我传递给 DetailsViewController 的 GuestInfo。
现在有了这个,我确实得到“请求不是结构或联合的成员”访问 prefInfo.name。
知道有什么问题吗?
谢谢