Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使用具有3个链接实体的核心数据设计_Iphone_Objective C_Xcode_Core Data - Fatal编程技术网

Iphone 如何使用具有3个链接实体的核心数据设计

Iphone 如何使用具有3个链接实体的核心数据设计,iphone,objective-c,xcode,core-data,Iphone,Objective C,Xcode,Core Data,我在从3个链接实体获取核心数据信息时遇到问题。有些有效,有些无效 Model Entity Accounts RegDate relationship heldby >> to-many >> inAccounts attributes balance addDate name Entity RegDate

我在从3个链接实体获取核心数据信息时遇到问题。有些有效,有些无效

Model
Entity        Accounts                RegDate
relationship   heldby  >> to-many >>  inAccounts
attributes     balance                 addDate
               name

Entity        RegDate                 Regster
relationship  regheldBy >> to-many >> inRegDate
attributes    addDate                 amount
当我这样做时:

Regster *regster = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = regster.amount;
NSLog(@"Regster: %@  %@", regster.amount, regster.inRegDate.addDate);
RegDate *regdate = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = regdate.addDate;
NSLog(@"RegDate: %@", regdate.addDate);
regster.amount显示预期值,但regster.inRegDate.addDate为空

当我这样做时:

Regster *regster = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = regster.amount;
NSLog(@"Regster: %@  %@", regster.amount, regster.inRegDate.addDate);
RegDate *regdate = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = regdate.addDate;
NSLog(@"RegDate: %@", regdate.addDate);
regdate.addDate显示预期值,而上一个示例中我得到null。 此外,我无法获取要显示的数量。 我想我可以使用:regdate.regheldBy.amount>,但这会导致错误“在“NSSet”类型的对象上找不到属性“amount”

不知道我做错了什么。。。我猜我可能有关系设置不当。我试过很多不同的方法,但都没能成功


有什么想法吗?

可能是因为没有为所有关系设置反向关系


另外,由于
regdate.regheldBy
是一种对多关系,因此它由一个包含
Regster
对象的集合表示。您不能在集合上调用
amount
,首先必须从集合中选择一个
Regster
对象。

我不知道关系,但最后一个问题很简单。由于
regheldBy
可以指向许多Regster对象,因此它不知道要从哪个对象获取
amount
值。你需要从it参考资料中选择一个特定的。我听到你说的话,我理解。。。只是不确定这是如何实现的。在我看到的所有示例中,我没有看到编码方面有任何不同。你能详细介绍一下吗?我将尝试研究并了解这是如何实现的。如果您有一个与两个Regster对象相关的RegDate,您将如何确定要显示的金额?(我不是问代码,只是你需要申请的“业务需求”)似乎@mprivat和Phillip Mills也在说同样的话。我不知道如何从集合中选择特定的Regster对象。你能详细介绍一下吗?我将试着看看我能挖掘到什么。我需要设置一个数组,使用allObjects拉入redate.regheldBy吗?不,你可以这样做:
for(regdate.regheldBy中的Regster*r){NSLog(@“%f”,r.amount);}
我理解这段代码以及它在做什么。不幸的是,它没有显示NSLog,这意味着它没有进入for循环。这意味着你的集合是空的。您可以使用NSLog(@“%d”,[regdate.regheldBy count])检查这一点;