0

在此处输入图像描述

在我的联系人表中,我插入了从 iphone 通讯录中挑选的联系人的信息。

我存储联系人的姓名和号码(在第 0 个索引处)并通过此代码添加另外两个字段 twilio number 和 bool 检查。

AppDelegate *appDelegate =
[[UIApplication sharedApplication] delegate];

NSManagedObjectContext *context =
[appDelegate managedObjectContext];

Contacts * newContact = [NSEntityDescription
                         insertNewObjectForEntityForName:@"Contacts"
                         inManagedObjectContext:context];

newContact.name = name;
newContact.number = phone;
newContact.isEligible = isEligible;
newContact.twilionumber = tempTwilioNumber;

该场景是选择所有其他电话号码(第 0 个索引除外),它们以数组的形式保存在具有电话号码属性的 ContactDetail 表中。案例是一个联系人可以有多个其他号码。

我如何将该数组插入到contactDetail表中,以针对contacts表中的一个条目?

4

2 回答 2

0

您的 ContactDetail 关系应该是一对多,而不是一对一。您还需要向 ContactDetail 添加一个“索引”属性。这样,当您获取联系人实例的详细信息(详细信息将采用 NSSet 的形式)时,您可以按索引对它们进行排序

于 2013-02-04T17:56:07.767 回答
0

只需遵循代码就可以了;

  AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

  NSManagedObjectContext *context = [appDelegate managedObjectContext];

  Contacts * newContact = [NSEntityDescription
                         insertNewObjectForEntityForName:@"Contacts"
                         inManagedObjectContext:context];

newContact.name = name;
newContact.number = phone;
newContact.isEligible = isEligible;
newContact.twilionumber = tempTwilioNumber;


for (int i=1; i<otherContactNumbersArray.count; i++)
{
    ContactDetail * newContactDetail = [NSEntityDescription
                                        insertNewObjectForEntityForName:@"ContactDetail"
                                        inManagedObjectContext:context];

    newContactDetail.phoneNumber = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, i);
    newContactDetail.contactInfo = newContact;
}

NSError *myError;
[context save:&myError];

非常感谢三打访客,他们甚至没有费心提高问题的评分,以便我早日找到解决方案.... :)

于 2013-02-06T14:03:08.107 回答