{"id":14,"date":"2012-12-01T11:50:09","date_gmt":"2012-12-01T11:50:09","guid":{"rendered":"http:\/\/www.josejavierfm.es\/blog\/?p=14"},"modified":"2015-06-18T12:02:38","modified_gmt":"2015-06-18T12:02:38","slug":"filtrar-solo-los-contactos-que-tienen-email","status":"publish","type":"post","link":"https:\/\/www.josejavierfm.es\/blog\/2012\/12\/01\/filtrar-solo-los-contactos-que-tienen-email\/","title":{"rendered":"Filtrar solo los contactos que tienen email"},"content":{"rendered":"<p>utilizo una clase auxiliar para guardar los datos y poder ordenarlos.<br \/>\nContacto.h<br \/>\n#import <Foundation\/Foundation.h><\/p>\n<p>@interface Contacto : NSObject{<br \/>\n    NSNumber *numero;<br \/>\n    NSString *email;<br \/>\n    NSString *nombre;<br \/>\n}<\/p>\n<p>@property (nonatomic, strong) NSNumber *numero;<br \/>\n@property (nonatomic, strong) NSString *email;<br \/>\n@property (nonatomic, strong) NSString *nombre;<\/p>\n<p>@end<\/p>\n<p>el codigo es:<br \/>\n addressBook = ABAddressBookCreate();<\/p>\n<p>    self.people = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);<br \/>\n    self.filteredPeople = [NSMutableArray array];<\/p>\n<p>    for (id record in people)<br \/>\n    {<br \/>\n        ABRecordRef person = (__bridge ABRecordRef)record;<br \/>\n        NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);<br \/>\n        NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);<\/p>\n<p>        NSString *email;<br \/>\n        ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);<br \/>\n        if (ABMultiValueGetCount(emails)>0){<br \/>\n            email = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(emails, 0);<br \/>\n            if (![email isEqualToString:@\u00bb\u00bb]){<br \/>\n                \/\/ Match by name or organization<br \/>\n                ABRecordID abRecordID = ABRecordGetRecordID(person);<\/p>\n<p>                \/\/ Add the matching abRecordID to filteredPeople<br \/>\n                Contacto *c = [[Contacto alloc]init];<br \/>\n                c.numero=[NSNumber numberWithInt:abRecordID];<br \/>\n                c.email=email;<br \/>\n                c.nombre=[NSString stringWithFormat:@\u00bb%@ %@\u00bb,[firstName capitalizedString],[lastName capitalizedString]];<br \/>\n                [filteredPeople addObject:c];<br \/>\n            }<\/p>\n<p>        }<\/p>\n<p>    }<br \/>\n    \/\/NSArray *sortedArray;<br \/>\n    filteredPeople = [filteredPeople sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {<br \/>\n        NSString *first = [(Contacto*)a nombre];<br \/>\n        NSString *second = [(Contacto*)b nombre];<br \/>\n        return [first compare:second];<br \/>\n    }];<\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=josejavierfm\" class=\"twitter-share-button\">Twittear<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>utilizo una clase auxiliar para guardar los datos y poder ordenarlos. Contacto.h #import @interface Contacto : NSObject{ NSNumber *numero; NSString *email; NSString *nombre; } @property (nonatomic, strong) NSNumber *numero; @property (nonatomic, strong) NSString *email; @property (nonatomic, strong) NSString *nombre; @end el codigo es: addressBook = ABAddressBookCreate(); self.people = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); self.filteredPeople = [NSMutableArray array]; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/14"}],"collection":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":1,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}