3

我正在使用 ABAddressBookRef 的实例来访问 ios 通讯录。最终,我想返回一个包含姓名、电话号码和缩略图的 NSDictionary。最后一个给我带来了麻烦。我可以成功地包括所有其余的。

这里只是将 UIImage作为其键添加到字典contact中。thumbnail

UIImage* contactThumbnail = [UIImage imageWithData:(__bridge NSData *)ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail)];
NSDictionary *contact = [NSDictionary dictionaryWithObjectsAndKeys:
                          contactThumbnail, @"thumbnail", nil];

根据Trigger.IO Docs,我可以返回 a NSString、或. 我将如何返回图像?我应该转换它,只需指向它,还有哪些其他选项存在?NSNumberNSDictionaryNSArray

4

1 回答 1

1

我从来没有使用过 Trigger.IO,但我敢打赌,当他们说你可以使用 NSString、NSNumber、NSDictionary 或 NSArray 时,他们的意思只是那些类。包含不在该列表中的类型对象的字典(例如 UIImage)将不起作用。这就是 JSON 数据序列化通常的工作方式。

该问题的解决方案是将图像序列化,可能是 Base64 数据,并将该 Base64 字符串包含在字典中,而不是图像。然后,您可以在 JavaScript 中使用data:URL 来重建图像。

于 2013-10-20T04:57:29.713 回答