在iPhone应用程序中,我有一个NSDictionary
对象,其密钥为NSString
,值为自定义对象。我试图将此转换为NSData
以获取iCloud。
我这样做了:
NSMutableData *data = [NSMutableData data]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; [archiver encodeObject:myDictionary forKey:@"mykey"]; [archiver finishEncoding];
现在,encodeObject行抛出了这个异常(NSDictionary
对象'myDictionary'中有值。我查了一下。):
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ConnectionProfile encodeWithCoder:]: unrecognized selector sent to instance 0x1f849350'
ConnectionProfile是我作为NSDictionary
中的值存储的对象。它应该明确实施NSCoding
吗?
答案 0 :(得分:0)
知道了。是。我怀疑,ConnectionProfile必须实现NSCoding。现在,错误消失了。