0
에 ABUnknownPersonViewController를 통해 주소록에 새 항목을 만들려고 (그것은있는 UITableViewController입니다) :나는이 코드를 사용하여 ABUnknownPersonViewController를 통해 주소록에 새 항목을 만들려고 해요 아이폰 OS에서 아이폰 OS
- (void) tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *phoneNumber = [[cell textLabel] text];
ABRecordRef record = ABPersonCreate();
CFErrorRef error = NULL;
ABMutableMultiValueRef phone =
ABMultiValueCreateMutable(kABPersonPhoneProperty);
ABMultiValueAddValueAndLabel
(phone, phoneNumber, kABPersonPhoneMobileLabel, NULL);
bool didSet = ABRecordSetValue(record, kABPersonPhoneProperty, phone,
&error);
if (!didSet) {
return;
}
ABUnknownPersonViewController *viewController =
[[[ABUnknownPersonViewController alloc] init] autorelease];
[viewController setUnknownPersonViewDelegate:self];
[viewController setAllowsAddingToAddressBook:YES];
[viewController setAllowsActions:NO];
[viewController setDisplayedPerson:record];
[[self navigationController] setNavigationBarHidden:NO animated:NO];
[[self navigationController] pushViewController:viewController
animated:YES];
CFRelease(record);
CFRelease(phone);
}
편집 : 하지만 phoneNumber가 포맷되기 전에 주소록에 추가되었으므로 충돌이 발생합니다 (ej "987654321"은 "987 654 321"이됩니다). phoneNumber를 상수 문자열 (@ "987654321")로 바꾸면 모든 것이 올바르게 실행됩니다. 또한 ABPersonPhoneProperty가 아닌 ABPersonEmailProperty에 대한 값을 추가하면 올바르게 실행됩니다.
어떤 도움이 필요합니까? 내가 대체하면서
@property (copy) NSString * selectedPhoneNumber를 만들려고 했습니까? 속성을 만들면 textLabel 텍스트를 할당하면 복사됩니다. 다음 셀을 선택하면 해제되고 복사됩니다. – bryanmac
"다른 문자열"은 무엇을 의미합니까? 상수 @ "문자열"? [[NSString alloc] init ...]을 사용하여 생성 된 모든 문자열? –
@bryanmac 복사 된 속성을 할당해도 문제가 해결되지 않습니다. 나는 계속 노력할 것이다. – caliopigio