これは、アドレス帳から連絡先の名前と電子メールを取得するために使用する関数です。
-(void) fetchFriendsAllDetails {
NSMutableArray *allEmails = [[NSMutableArray alloc] initWithCapacity:_peopleList.count];
for (int i = 0; i < _peopleList.count; i++) {
ABRecordRef person = (__bridge ABRecordRef)([_peopleList objectAtIndex:i]);
ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
NSString *name=[[NSString stringWithFormat:@"%@",(__bridge_transfer NSString *)ABRecordCopyCompositeName(person)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"id:%d,name:%@",i,name);
for (int j=0; j < ABMultiValueGetCount(emails); j++) {
NSString* email = (__bridge NSString*)ABMultiValueCopyValueAtIndex(emails, j);
[allEmails addObject:email];
NSLog(@"id:%d,email:%@",i,email);
}
}
}
上記の出力は次のとおりです。
id:0,name:John Appleseed
id:0,email:John-Appleseed@mac.com
id:1,name:Kate Bell
id:1,email:kate-bell@mac.com
id:1,email:www.icloud.com
id:2,name:Anna Haro
id:2,email:anna-haro@mac.com
id:3,name:Daniel Higgins Jr.
id:3,email:d-higgins@mac.com
id:4,name:David Taylor
id:5,name:Hank M. Zakroff
id:5,email:hank-zakroff@mac.com
上記の関数で、次の形式の出力を含む辞書を作成したい
{
id:0
name:John Appleseed
email:John-Appleseed@mac.com
selectedFlag:NO
},
{
id:1
name:Kate Bell
email:kate-bell@mac.com, www.icloud.com
selectedFlag:NO
},
{
id:2
name:Anna Haro
email:John-Appleseed@mac.com
selectedFlag:NO
},
{
id:3
name:Daniel Higgins Jr.
email:d-higgins@mac.com
selectedFlag:NO
},
{
id:4
name:David Taylor
email:""
selectedFlag:NO
},
id:5
nameHank M. Zakroff
email:hank-zakroff@mac.com
selectedFlag:NO
}
私は NSMutableDictionary について基本的な理解を持っていますが、これを実装するための詳細を知りません。作成を手伝ってもらえますか?