2015-10-14 64 views
1

我有一個ABPeoplePickerNavigationController如下的ABPeoplePickerNavigationController謂詞用於使接觸的選擇與predicateForEnablingPerson

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
    picker.peoplePickerDelegate = self; 

我需要禁用一些觸頭的從的ABPeoplePickerNavigationController的列表視圖中選擇的。

在瀏覽時,得到了一些想法這樣

// Predicate to enable only the contacts having a mail id atleast. 
picker.predicateForEnablingPerson = [NSPredicate predicateWithFormat:@"[email protected] > 0"]; 

所以,我實現了一個謂語像下面排除與我的第一個名字接觸的選擇。

NSString *firstName = @"Kate"; 

// Predicate to disable selection of the contacts with the first name given. 
    picker.predicateForEnablingPerson = [NSPredicate predicateWithFormat:@"firstName != %@",firstName]; 

不幸的是,它不工作。

回答

0

我發現,您可以在ABPeoplePickerNavigationController.h

// Constants to use in predicates: 
// A LabeledValue has a 'label' property and a 'value' property. 
// A PhoneNumber has a 'stringValue' property, a 'countryCode' property, a 'formattedStringValue' property and a 'normalizedStringValue' property 
// A InstantMessageAddress has a 'username' property and a 'service' property 
// A SocialProfile has a 'username' property and a 'service' property 
// A PostalAddress has a 'street' property, a 'subLocality' property, a 'city' property, a 'subAdministrativeArea' property, a 'state' property, a 'postalCode' property, a 'country' property and a 'ISOCountryCode' property 
// 
extern NSString * const ABPersonNamePrefixProperty NS_AVAILABLE_IOS(8_0);    // "namePrefix"     NSString 
extern NSString * const ABPersonGivenNameProperty NS_AVAILABLE_IOS(8_0);    // "givenName"     NSString 
extern NSString * const ABPersonMiddleNameProperty NS_AVAILABLE_IOS(8_0);    // "middleName"     NSString 
extern NSString * const ABPersonFamilyNameProperty NS_AVAILABLE_IOS(8_0);    // "familyName"     NSString 
extern NSString * const ABPersonNameSuffixProperty NS_AVAILABLE_IOS(8_0);    // "nameSuffix"     NSString 
extern NSString * const ABPersonPreviousFamilyNameProperty NS_AVAILABLE_IOS(8_0);  // "previousFamilyName"   NSString 
extern NSString * const ABPersonNicknameProperty NS_AVAILABLE_IOS(8_0);     // "nickname"     NSString 
extern NSString * const ABPersonPhoneticGivenNameProperty NS_AVAILABLE_IOS(8_0);  // "phoneticGivenName"   NSString 
extern NSString * const ABPersonPhoneticMiddleNameProperty NS_AVAILABLE_IOS(8_0);  // "phoneticMiddleName"   NSString 
extern NSString * const ABPersonPhoneticFamilyNameProperty NS_AVAILABLE_IOS(8_0);  // "phoneticFamilyName"   NSString 
extern NSString * const ABPersonOrganizationNameProperty NS_AVAILABLE_IOS(8_0);   // "organizationName"   NSString 
extern NSString * const ABPersonDepartmentNameProperty NS_AVAILABLE_IOS(8_0);   // "departmentName"    NSString 
extern NSString * const ABPersonJobTitleProperty NS_AVAILABLE_IOS(8_0);     // "jobTitle"     NSString 
extern NSString * const ABPersonBirthdayProperty NS_AVAILABLE_IOS(8_0);     // "birthday"     NSDateComponents 
extern NSString * const ABPersonNoteProperty NS_AVAILABLE_IOS(8_0);      // "note"      NSString 
extern NSString * const ABPersonPhoneNumbersProperty NS_AVAILABLE_IOS(8_0);    // "phoneNumbers"    array of LabeledValue with PhoneNumber values 
extern NSString * const ABPersonEmailAddressesProperty NS_AVAILABLE_IOS(8_0);   // "emailAddresses"    array of LabeledValue with NSString values 
extern NSString * const ABPersonUrlAddressesProperty NS_AVAILABLE_IOS(8_0);    // "urlAddresses"    array of LabeledValue with NSString values 
extern NSString * const ABPersonDatesProperty NS_AVAILABLE_IOS(8_0);     // "dates"      array of LabeledValue with NSDateComponents values 
extern NSString * const ABPersonInstantMessageAddressesProperty NS_AVAILABLE_IOS(8_0); // "instantMessageAddresses" array of LabeledValue with InstantMessageAddress values 
extern NSString * const ABPersonRelatedNamesProperty NS_AVAILABLE_IOS(8_0);    // "relatedNames"    array of LabeledValue with NSString values 
extern NSString * const ABPersonSocialProfilesProperty NS_AVAILABLE_IOS(8_0);   // "socialProfiles"    array of LabeledValue with SocialProfile values 
extern NSString * const ABPersonPostalAddressesProperty NS_AVAILABLE_IOS(8_0);   // "postalAddresses"   array of LabeledValue with PostalAddress values 
在謂語使用常量的列表