iPhone应用程序:NSKeyedArchiver中的EncodeObject出现问题

iPhone应用程序:NSKeyedArchiver中的EncodeObject出现问题,iphone,ios,xcode,Iphone,Ios,Xcode,在iPhone应用程序中,我有一个NSDictionary对象,其键为NSString,值是一个自定义对象。我正在尝试将其转换为iCloud的NSData。 我这样做: 现在,encodeObject行正在引发此异常(NSDictionary对象“myDictionary”中包含值。我已检查): ConnectionProfile是我作为值存储在NSDictionary中的对象。它是否应该显式地实现NSCoding?明白了。对正如我所怀疑的,ConnectionProfile必须实现NSCodi

在iPhone应用程序中,我有一个
NSDictionary
对象,其键为
NSString
,值是一个自定义对象。我正在尝试将其转换为iCloud的
NSData
。 我这样做:

现在,encodeObject行正在引发此异常(
NSDictionary
对象“myDictionary”中包含值。我已检查):


ConnectionProfile是我作为值存储在
NSDictionary
中的对象。它是否应该显式地实现
NSCoding

明白了。对正如我所怀疑的,ConnectionProfile必须实现NSCoding。现在,错误消失了

NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
                              initForWritingWithMutableData:data];
[archiver encodeObject:myDictionary forKey:@"mykey"];
[archiver finishEncoding];
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ConnectionProfile encodeWithCoder:]: unrecognized selector sent to instance 0x1f849350'