我开始学习和练习一些没有编程经验的CoreData。
在网上搜索,寻找Apple样本并阅读一些书籍后,我仍然坚持一点。
我有两个实体(费用和月份),互惠关系称为“monthsOfExpense”和“expensesOfmonth”,我在一个表格中查看一个月的费用。
我的问题是插入新费用并保存它们:我有一个视图可以插入新费用,用户可以插入费用名称,费用和费用有效的月份(与monthsOfExpense关系相关联,我希望)。
我可以保存Expense实体的名称和值,从textFields中获取字符串和NSDecimal数字。
我的问题是如何将这笔费用与特定或几个月相关联?如何将textField.text保存为关系,指示费用属于哪个月?
我开始使用textField,用户可以插入一个月,假设费用只有一个月有效(用于学习和简化)。
我的想法是允许用户选择几个月(可能使用另一个具有可选月份的tableView)以及将费用与不同月份相关联。
我知道一个关系来自NSSet,但我无法同时保存View中的属性和关系。
希望得到了解决,并提前多多感谢您提供帮助。
答案 0 :(得分:1)
行。在Core数据中,您定义“费用”实体,创建与“月”实体的关系。现在为这两个实体创建类文件。然后你通过
使用它Expense *expense1 = [NSEntityDescription insertNewObjectForEntityName:@"Expense" ....
Month *month1 = [context executeFetchRequest:......];
expense1.month = month1;
...
[context save];
答案 1 :(得分:0)
在您的情况下,您可以预定义12个“月”对象,将月份名称作为文本属性。
然后,您可以使用NSFetchRequest查找这些月份对象。使用
将相关月份对象添加到您的费用中[expense addMonthObject:month]
然后保存您的托管对象上下文。
答案 2 :(得分:0)
您向托管对象发送其mutableSetValueForKey消息:RelationshipKey, 然后将多对象托管对象添加到该集合。 CoreData完成关系数据的另一半。