好的,这个问题有两个。
我正在创建一个帐单提醒应用,并希望使用CoreData来存储所有数据(我是新手)。我已经设置了所有实体和关系(BillAccount与Bills的一对多关系)。所以账户可以有很多账单。
问题1:所以有人输入帐户详细信息并设置帐单重复和点击保存的次数。如何创建BillAccount对象,然后循环并添加刚刚添加的BillAccount的所有Bills?我可以轻松添加一个帐单和帐单帐户,但不知道如何将多个帐单添加到一个BillAccount。
问题2:在我创建了BillAccount后,如何在现有的BillAccount中添加额外的Bill ...所以编辑账单不是第一次添加?首先必须设置BillAccount对象并获取其唯一ID。我有点困惑。
一些基本的代码示例会很棒。谢谢你的帮助。
答案 0 :(得分:10)
我猜你(对不起,如果我错了)你没有为你的核心数据实体生成类。 如果不是 -
现在转到项目文件系统并找到BillAccount实体类。你会在.h文件中找到Xcode生成的" CoreDataGeneratedAccessors"方法:
- (void)addBillsObject:(Bills *)value;
- (void)removeBillsObject:(Bills *)value;
- (void)addBills:(NSSet *)values;
- (void)removeBills:(NSSet *)values;
现在回答你的第一个问题
将该集添加到帐单帐户
NSSet * billsForAccount = [NSSet setWithArray:allTheBills];
[billAccount addBills:billsForAccount];
这就是为一个帐户添加许多帐单。
至于你的第二个问题:
现在使用此对象添加帐单,直到用户选择其他帐户为止。
Array *allAccounts = [BillAccount allObjects];//will get all of the accounts
//in the table view methods - use this array to set the tableView rows
//in the userDidSelectRowForIndexPath use
BillAccount *selectedAccount = [allAccounts objectAtIndex:indexPath.row];
//now use this for adding the bills. (you might want to pass the selected account to other viewController or any other way appropriate to your App structure.
//when you want to add new bill use
[selectedAccount addBillsObject:billObject];