ABRecordRef

- (void)doAddContacts:(id*)sender

{   

    if (_user.phoneNumber == nil || [_user.phoneNumberisEqualToString:@""]) {

        return;

    }

    

    ABRecordRef* person = [ABContentUtilselPersonByNumber:_user.phoneNumber];

    

    if (person) {

        ABPersonViewController *knownPersonDetail = [[ABPersonViewControlleralloc]init];

        knownPersonDetail.title =NSLocalizedString(NSIntroductionTitle,nil);

        knownPersonDetail.displayedPerson = person;

        [knownPersonDetail setPersonViewDelegate:self];

        [knownPersonDetail setAllowsEditing:NO];

        // [knownPersonDetail setAllowsDeletion:YES];//no suggestion

        [knownPersonDetail setAllowsActions:YES];

        [self.navigationControllerpushViewController:knownPersonDetailanimated:NO];

        [knownPersonDetail release];

        CFRelease(person);

    } else {

        ABRecordRef person =ABPersonCreate();

        

        // name

        // ABRecordSetValue(person, kABPersonFirstNameProperty, userNameStr, NULL);

        ABRecordSetValue(person,kABPersonLastNameProperty,userNameStr,NULL);

        ABRecordSetValue(person,kABPersonNoteProperty, _ClassName,NULL);

        

        // Job title

        ABRecordSetValue(person,kABPersonOrganizationProperty,_user.companyName,NULL);

        ABRecordSetValue(person,kABPersonJobTitleProperty,_user.jobTitle,NULL);

    }

    

    // phone

    ABMutableMultiValueRef multiPhone =ABMultiValueCreateMutable(kABMultiStringPropertyType);

    ABMultiValueAddValueAndLabel(multiPhone,_user.companyPhone,kABPersonPhoneMainLabel,NULL);

    

    ABMultiValueAddValueAndLabel(multiPhone,_user.phoneNumber, kABPersonPhoneMobileLabel,NULL);         ABMultiValueAddValueAndLabel(multiPhone,_user.companyFax,kABPersonPhoneWorkFAXLabel,NULL);

    

    ABRecordSetValue(person,kABPersonPhoneProperty, multiPhone,nil);

    CFRelease(multiPhone);

    

    // email

    ABMutableMultiValueRef multiEmail =ABMultiValueCreateMutable(kABMultiStringPropertyType);

    ABMultiValueAddValueAndLabel(multiEmail,_user.email,kABWorkLabel, NULL);

    ABRecordSetValue(person,kABPersonEmailProperty, multiEmail,NULL);

    CFRelease(multiEmail);

    

    // address

    ABMutableMultiValueRef multiAddress =ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);

    

    NSMutableDictionary *addressDictionary = [[NSMutableDictionaryalloc]init];

    [addressDictionary setObject:[NSStringstringWithFormat:@"%@ %@",_user.companyAddressC,_user.companyAddressE]forKey:(NSString *)kABPersonAddressStreetKey];

        

    [addressDictionary setObject:_user.companyProvinceforKey:(NSString *)kABPersonAddressCityKey];

    // [addressDictionary setObject:@"200201" forKey:(NSString *)kABPersonAddressZIPKey];

    

    ABMultiValueAddValueAndLabel(multiAddress, addressDictionary,kABWorkLabel, NULL);

    ABRecordSetValue(person,kABPersonAddressProperty, multiAddress,NULL);

    CFRelease(multiAddress);

    

    ABUnknownPersonViewController *unKnownPersonDetail = [[ABUnknownPersonViewControlleralloc]init];

    unKnownPersonDetail.unknownPersonViewDelegate =self;

    

    // initialize for create/add

    // unKnownPersonDetail.allowsActions = NO;

    unKnownPersonDetail.displayedPerson = person;

    unKnownPersonDetail.allowsAddingToAddressBook =YES;

    unKnownPersonDetail.title =NSLocalizedString(NSIntroductionTitle,nil);

    

    // Back Button

    UISegmentedControl *segmentedControl = [[UISegmentedControlalloc] initWithItems:[NSArrayarrayWithObject:NSLocalizedString(NSBackBtnTitle,nil)]];

    [segmentedControl addTarget:self 

                         action:@selector(backFromContact:) 

               forControlEvents:UIControlEventValueChanged];

    segmentedControl.frame =CGRectMake(0,0, 70,30);

    segmentedControl.segmentedControlStyle =UISegmentedControlStyleBar;

    segmentedControl.momentary =YES;

    

    UIBarButtonItem *backBtn = [[UIBarButtonItemalloc] initWithCustomView:segmentedControl];

    

    unKnownPersonDetail.navigationItem.leftBarButtonItem = backBtn;

    UINavigationController *webViewNav = [[UINavigationControlleralloc] initWithRootViewController:unKnownPersonDetail];

    webViewNav.navigationBar.tintColor =TITLESTYLE_COLOR;

    [selfpresentModalViewController:webViewNavanimated:YES];

    //        [self.navigationController pushViewController:unKnownPersonDetail animated:YES];        

    [unKnownPersonDetail release];

    [webViewNav release];

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值