diff --git a/C09 - Address Book/00 - AB Basic/.DS_Store b/C09 - Address Book/00 - AB Basic/.DS_Store index aa4bbf5..1ace8b2 100644 Binary files a/C09 - Address Book/00 - AB Basic/.DS_Store and b/C09 - Address Book/00 - AB Basic/.DS_Store differ diff --git a/C09 - Address Book/00 - AB Basic/Address Book Wrappers/ABContact.m b/C09 - Address Book/00 - AB Basic/Address Book Wrappers/ABContact.m index a1d663b..affde5e 100644 --- a/C09 - Address Book/00 - AB Basic/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/00 - AB Basic/Address Book Wrappers/ABContact.m @@ -433,7 +433,10 @@ for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; diff --git a/C09 - Address Book/00 - AB Basic/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/ericasadun.xcuserdatad/UserInterfaceState.xcuserstate b/C09 - Address Book/00 - AB Basic/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/ericasadun.xcuserdatad/UserInterfaceState.xcuserstate index e9f4d27..39f75e3 100644 Binary files a/C09 - Address Book/00 - AB Basic/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/ericasadun.xcuserdatad/UserInterfaceState.xcuserstate and b/C09 - Address Book/00 - AB Basic/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/ericasadun.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/C09 - Address Book/01 - Search/.DS_Store b/C09 - Address Book/01 - Search/.DS_Store index 2862094..4356d8a 100644 Binary files a/C09 - Address Book/01 - Search/.DS_Store and b/C09 - Address Book/01 - Search/.DS_Store differ diff --git a/C09 - Address Book/01 - Search/Address Book Wrappers/ABContact.m b/C09 - Address Book/01 - Search/Address Book Wrappers/ABContact.m index a1d663b..ce3be24 100644 --- a/C09 - Address Book/01 - Search/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/01 - Search/Address Book Wrappers/ABContact.m @@ -428,17 +428,21 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; } + - (NSArray *) emailArray {return [self arrayForProperty:kABPersonEmailProperty];} - (NSArray *) emailLabels {return [self labelsForProperty:kABPersonEmailProperty];} diff --git a/C09 - Address Book/02 - Image/.DS_Store b/C09 - Address Book/02 - Image/.DS_Store index 2862094..4356d8a 100644 Binary files a/C09 - Address Book/02 - Image/.DS_Store and b/C09 - Address Book/02 - Image/.DS_Store differ diff --git a/C09 - Address Book/02 - Image/Address Book Wrappers/ABContact.m b/C09 - Address Book/02 - Image/Address Book Wrappers/ABContact.m index a1d663b..ed5bf30 100644 --- a/C09 - Address Book/02 - Image/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/02 - Image/Address Book Wrappers/ABContact.m @@ -428,12 +428,15 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; diff --git a/C09 - Address Book/03 - Browsing/.DS_Store b/C09 - Address Book/03 - Browsing/.DS_Store index 2862094..4356d8a 100644 Binary files a/C09 - Address Book/03 - Browsing/.DS_Store and b/C09 - Address Book/03 - Browsing/.DS_Store differ diff --git a/C09 - Address Book/03 - Browsing/Address Book Wrappers/ABContact.m b/C09 - Address Book/03 - Browsing/Address Book Wrappers/ABContact.m index a1d663b..ed5bf30 100644 --- a/C09 - Address Book/03 - Browsing/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/03 - Browsing/Address Book Wrappers/ABContact.m @@ -428,12 +428,15 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; diff --git a/C09 - Address Book/04 - Type Picker/.DS_Store b/C09 - Address Book/04 - Type Picker/.DS_Store index 2862094..4356d8a 100644 Binary files a/C09 - Address Book/04 - Type Picker/.DS_Store and b/C09 - Address Book/04 - Type Picker/.DS_Store differ diff --git a/C09 - Address Book/04 - Type Picker/Address Book Wrappers/ABContact.m b/C09 - Address Book/04 - Type Picker/Address Book Wrappers/ABContact.m index a1d663b..ed5bf30 100644 --- a/C09 - Address Book/04 - Type Picker/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/04 - Type Picker/Address Book Wrappers/ABContact.m @@ -428,12 +428,15 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; diff --git a/C09 - Address Book/05 - New Contact/.DS_Store b/C09 - Address Book/05 - New Contact/.DS_Store index 0af458f..fbf1577 100644 Binary files a/C09 - Address Book/05 - New Contact/.DS_Store and b/C09 - Address Book/05 - New Contact/.DS_Store differ diff --git a/C09 - Address Book/05 - New Contact/Address Book Wrappers/ABContact.m b/C09 - Address Book/05 - New Contact/Address Book Wrappers/ABContact.m index a1d663b..ed5bf30 100644 --- a/C09 - Address Book/05 - New Contact/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/05 - New Contact/Address Book Wrappers/ABContact.m @@ -428,12 +428,15 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels; diff --git a/C09 - Address Book/06 - Monsters/.DS_Store b/C09 - Address Book/06 - Monsters/.DS_Store index de10900..a1cface 100644 Binary files a/C09 - Address Book/06 - Monsters/.DS_Store and b/C09 - Address Book/06 - Monsters/.DS_Store differ diff --git a/C09 - Address Book/06 - Monsters/Address Book Wrappers/ABContact.m b/C09 - Address Book/06 - Monsters/Address Book Wrappers/ABContact.m index a1d663b..ed5bf30 100644 --- a/C09 - Address Book/06 - Monsters/Address Book Wrappers/ABContact.m +++ b/C09 - Address Book/06 - Monsters/Address Book Wrappers/ABContact.m @@ -428,12 +428,15 @@ { CFTypeRef theProperty = ABRecordCopyValue(_record, anID); if (!theProperty) return nil; - + NSMutableArray *labels = [NSMutableArray array]; for (int i = 0; i < ABMultiValueGetCount(theProperty); i++) { NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(theProperty, i); - [labels addObject:label]; + if (label) + [labels addObject:label]; + else + [labels addObject:@""]; } CFRelease(theProperty); return labels;