在人视图控制器中完成按钮不保存ios

时间:2013-04-15 12:31:46

标签: ios abpersonviewcontroller

当我在人物视图控制器的编辑模式中完成时,它不会保存到地址簿中。它转到上一个屏幕并显示新数据。但是在联系人应用程序中没有任何改变。

 -(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{


    ABPersonViewController *
    vcPerson = [[ABPersonViewController alloc] init];
    CFErrorRef error = NULL;
    if([self.peopleProperty objectForKey:@"phone_number"]!=nil)
    {
        NSString* phoneNumber = [self.peopleProperty objectForKey:@"phone_number"];

         ABMultiValueRef multiVal = ABRecordCopyValue(person, kABPersonPhoneProperty);
        ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutableCopy(multiVal);
        ABMultiValueAddValueAndLabel(multiPhone,(__bridge CFTypeRef)(phoneNumber), kABPersonPhoneIPhoneLabel, NULL);
        ABRecordSetValue(person, kABPersonPhoneProperty, multiPhone, &error);
        CFRelease(multiPhone);
        CFRelease(multiVal);
    }


    vcPerson.allowsActions = NO;
    vcPerson.allowsEditing = YES;
    vcPerson.displayedPerson = person;
    vcPerson.personViewDelegate = self;
    [vcPerson setEditing:YES animated:NO];
    vcPerson.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back",nil) style:UIBarButtonItemStylePlain target:self action:@selector(ReturnFromPersonView:)];
    [self.navigationController setNavigationBarHidden:NO];


    [self.navigationController pushViewController:vcPerson animated:YES];



    [self dismissViewControllerAnimated:YES completion:^{

    }];
    return NO;}

更新 我认为显然你不能在视图控制器加载之前更改显示的人的值。一旦尝试稍后保存,它就无法识别出联系人的变化。

1 个答案:

答案 0 :(得分:0)

我认为显然你无法在视图控制器加载之前更改显示的人的值。一旦尝试稍后保存

,它就无法识别出联系人的变化
相关问题