我创建了一个iOS应用程序,允许我将数据输入数据库,然后在tableview中显示(使用NSFetchedResultsController& tableView cellForRowAtIndexPath)。这很有效。现在,我添加了3个一对多关系和另一个实体,我需要从db加载实体(在one-to-many的一侧)而不是直接从db中提取它以便数据可用于关系。我还在使用NSFetchedResultsController吗?
relationshipEntity2是Entity1& 1之间的一对多关系。 ENTITY2。许多人指向Entity2
我知道我应该使用:
Entity2 *entity2 = [[self.entity1.relationshipEntity2 allObjects]
objectAtIndex:indexPath.row];
我是iOS开发的新手,甚至是Core Data的新手,但我必须学习它。任何一点帮助或指向我还没有遇到的书或教程将不胜感激。我没有太多运气找到任何可以做我应该做的事情。
谢谢,祝你有个愉快的一周!
-------添加了对项目的更多描述-------
我的任务是使用一个带有3个分段按钮的View Controller。还有一个添加UIButton,弹出一个视图(将子视图带到前面,而不是popover segue),带有一个UITextField,用于输入以添加到视图控制器上的表视图。有2个实体和3个1对多关系。分段按钮上的每个按钮有1个关系。如果用户选择了分段按钮的第一部分,则向弹出文本框添加值,只应将其添加到选择第一个分段按钮时看到的表视图中。我创建了CoreDataGeneratedAccessors。我有这个项目将数据保存到数据库并获取数据以显示在表视图中,但这是在添加分段部分之前。现在我必须弄清楚将数据分成“集合”,然后在选择分段按钮的第一段时显示所有第一个集合。我只是在学习,只是在没有分段部分的情况下想出来,现在它已经改变了我。我曾经使用过关系数据库,但在iOS中它似乎又是新的。
答案 0 :(得分:1)
你的问题并不明确。你没有描述任何问题,也没有简明扼要地解释你想要完成什么。
试图推断你的意思:是的,你会继续使用你的fetchedResultsController。此控制器为每个indexPath提供正确的对象。构建单元格内容时,可以使用entity.relationship
轻松访问关系实体。
上面的代码不起作用,因为entity.relationship
返回NSSet
,这是一组无序的对象。 (附加allObjects
不执行任何操作并且是多余的。)因此,objectAtIndex
将不起作用(这仅适用于NSArray
个对象)。
希望这有帮助。