我正在编写一个应用程序,我想从列表中收集姓名和电话号码并将其添加到数组中。我该怎么做呢?我可以检索名字和姓氏,但是我无法在下面的代码中添加电话号码,因为它在另一个 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
循环。有人可以编辑代码并告诉我我必须对以上代码进行哪些更改。同样,结果两次都显示两次,为什么呢?
最佳答案
NSMutableArray *contactList=[[NSMutableArray alloc] init];
for (int i=0; i<4; i++) {
NSMutableDictionary *contactInfo=[[NSMutableDictionary alloc] init];
for (int i = 0; i < [list count]; i++)
{
NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonFirstNameProperty);
NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty);
if (![firstName isEqualToString:@""]) {
[contactInfo setValue:firstName forKey:@"firstName"];
}
if (![lastName isEqualToString:@""]) {
[contactInfo setValue:lastName forKey:@"lastName"];
}
NSMutableArray *mobileNoArray=[[NSMutableArray alloc] initWithCapacity:ABMultiValueGetCount(mobile)];
ABMultiValueRef mobile=ABRecordCopyValue(contactPerson, kABPersonPhoneProperty);
for (int k=0;k<ABMultiValueGetCount(mobile); k++)
{
NSString *mobileNo = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(mobile, k);
[mobileNoArray addObject:mobileNo];
}
if (mobileNoArray.count!=0) {
[contactInfo setObject:mobileNoArray forKey:@"mobileNo"]
}
}
[contactList addObject:contactInfo];
NSLog(@"contact info == %@",contactInfo);
}
NSLog(@"contact list array is %@",contactList);
关于ios - 收集字符串值并添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16931968/