【发布时间】:2014-03-31 18:57:47
【问题描述】:
我有一个NSMutableArray self.certificates
这个数组由保存的字符串和核心数据组成。我想通过 AirDrop 发送这个。我已经检查了serialization,并且我正在尝试将其与以下内容一起发送
- (void)send{
NSData *jsonData2 = [NSJSONSerialization dataWithJSONObject:self.certificates options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData2 encoding:NSUTF8StringEncoding];
NSLog(@"Electrical Certificates List:\n%@", jsonString);
UIActivityViewController *activityCtr = [[UIActivityViewController alloc] initWithActivityItems:@[jsonString]
applicationActivities:nil];
NSMutableArray *excludedActivities = [self iOSActivities].mutableCopy;
[excludedActivities addObject:UIActivityTypeAddToReadingList];
[excludedActivities addObject:UIActivityTypePostToFlickr];
[excludedActivities addObject:UIActivityTypePostToTencentWeibo];
[excludedActivities addObject:UIActivityTypePostToVimeo];
[activityCtr setExcludedActivityTypes:excludedActivities];
[self presentViewController:activityCtr
animated:YES
completion:nil];
}
这给了我以下错误'NSInvalidArgumentException', reason: 'Invalid type in JSON write (Certificate)'
我已将数据转换为字符串,所以不确定这里缺少什么
我研究过NSInvalidArgumentException, reason: 'Invalid type in JSON write (__NSDate)' 和How to send NSArray to web service
【问题讨论】:
标签: ios objective-c cocoa-touch serialization airdrop