我在寫一個應用程序,我想從列表中收集姓名和電話號碼並將其添加到數組中。我該怎麼做呢?我可以檢索名字和姓氏,但我不知道如何在下面的代碼中添加電話號碼,因爲它在不同的for
循環。它可能看起來很簡單,但因爲我是新手而被卡住了。收集字符串值並添加到數組中
for (i = 0; i < [list count]; i++)
{
NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonFirstNameProperty);
NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty);
NSMutableArray *name = [NSMutableArray array];
if(firstName != nil)
[name addObject:firstName];
if(lastName != nil)
[name addObject:lastName];*/
[self displaynames:name];
ABMultiValueRef mobile=ABRecordCopyValue(contactPerson, kABPersonPhoneProperty);
for (int k=0;k<ABMultiValueGetCount(mobile); k++)
{
NSString *mobileNo = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(mobile, k);
NSLog(@"mobile number: %@",mobileNo);
}
}
- (void)displaynames:(NSMutableArray*)names
{
for (NSMutableArray* name in names)
{
NSLog(@"MyResult:%@ %@",[names objectAtIndex:0],[names objectAtIndex:1]);
}
}
所以在上面的代碼中,我能夠從列表中獲得的第一個名字和姓氏,並把它們添加到陣列中,類似如何獲取手機號碼,並添加到同一個陣列,並獲得導致displayNames:
函數,因爲它是另一個for
循環。有人可以編輯代碼並告訴我在上面的代碼中必須做出什麼改變。爲什麼所有結果都顯示兩次?
非常感謝...它的工作原理,但它只顯示一個列表,如果我想要顯示完整列表我在上面的代碼中做了哪些更改? – user2454248
因爲您有kABPersonFirstNameProperty,只需將其他人添加到字典中即可。 – Warewolf
當我檢查contactInfo只有一個名字lastname和一個人的電話號碼保持其不displayin..if我有4個聯繫人我想要顯示所有這些..所以最新的變化你做你的上述代碼。 – user2454248