2

我正在实施

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier

在我的自定义类中委托子类ABPersonViewController。委托方法正在捕获ABPersonViewController子类中的点击事件。但是我怎么知道哪个字段被点击了。例如。如果我单击家庭地址字段,我将如何在委托方法中处理这种情况。

4

1 回答 1

2
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
if(property == kABPersonAddressProperty){
    ABMutableMultiValueRef multi = ABRecordCopyValue(person, property);
    CFStringRef address = ABMultiValueCopyValueAtIndex(multi, identifier);
    NSLog(@"Address %@", (NSString *)address);
    // Do your tasks here
    CFRelease(address);
}
return YES;
}

就像kABPersonAddressProperty您可以检查所有其他属性一样,例如电话号码、电子邮件、网址等。

于 2012-05-01T08:20:57.660 回答