こんにちは私はこれでカスタムアドレスブックを作成しています私はすべてのものが完璧に機能する電子メールアドレスを持っているこのユーザーだけを取得したいのですが、テーブルビューで画像を表示しようとするとそれは私に与えますEXCBAD Error
。私はこのようなコードを持っています
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
for (CFIndex i = 0; i < CFArrayGetCount(people); i++) {
ABRecordRef person = CFArrayGetValueAtIndex(people, i);
ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
for (CFIndex j=0; j < ABMultiValueGetCount(emails); j++) {
UIImage *img;
if(ABPersonHasImageData(person))
{
// img = [UIImage imageWithData:(NSData *)ABPersonCopyImageDataWithFormat(person,kABPersonImageFormatThumbnail)];
img = [UIImage imageWithData:(NSData *)ABPersonCopyImageData(person)];
// if(img != nil)
// {
// [arrImage addObject:img];
// }
// else
// {
img = [UIImage imageNamed:@"icon-9.png"];
[arrImage addObject:img];
// }
}else
{
img = [UIImage imageNamed:@"icon-9.png"];
[arrImage addObject:img];
}
NSString* email = (NSString*)ABMultiValueCopyValueAtIndex(emails, j);
// [arrImage addObject:img];
[arrEmail addObject:email];
[img release];
[email release];
}
CFRelease(emails);
}
CFRelease(addressBook);
CFRelease(people);
上記のコードでは、画像をフェッチしてNSMutableArrayに画像を保存していますが、完全に保存されます。しかし、私が以下のコードで画像を表示しようとしているとき
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UIImageView* imagePhoto;
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableFriends dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
imagePhoto= [[[UIImageView alloc] initWithFrame:CGRectMake(43.0,10.0,40, 40)] autorelease];
if ([arrEmail count] != 0)
{
imagePhoto.image = [arrImage objectAtIndex:indexPath.row];
[cell.contentView addSubview:imagePhoto];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@",[arrEmail objectAtIndex:indexPath.row]];
cell.detailTextLabel.textColor = [UIColor whiteColor];
}
return cell;
}
ここから画像を呼び出すと完全に機能しますimg = [UIImage imageNamed:@"icon.png"];
が、アドレス帳から画像を呼び出すとEXCBAD Error
、そのコードの何が問題になっているのかというエラーが表示されます。NSMutabeArrayに画像を保存して表示するにはどうすればよいですか?
ちょっと助けてくださいどんな体でも私を助けたり、Google Latitude のように実装するように提案したりできます。これは、iPhoneの名簿から友達を追加するときに表示されます。このアプリケーション機能のようなものを実装したいのですが、すべてのコードがうまく機能しています。名簿から画像を取得してください私を助けてください....