在NSDictionary中尝试存储值和检索的NSDictionary自定义对象存储和检索
对象
#import <Foundation/Foundation.h>
@class ATTTEstOBJ;
@interface ATTTEst : NSObject
@property (nonatomic, retain) NSString *string1;
@property (nonatomic, retain) NSString *string2;
@property (nonatomic, retain) ATTTEstOBJ *obj1;
@end
@interface ATTTEstOBJ : NSObject
@property (nonatomic, retain) NSString *string3;
@property (nonatomic, retain) NSString *string4;
@property (nonatomic, retain) NSString *array1;
@end
我知道它需要被正确编码保存和检索values.but在这种情况下,一个复合对象,我不知道如何处理它。
- (void) encodeWithCoder: (NSCoder *)coder
所以TLDR,如何复合值保存到字典和检索回
我想存储ATTTest
成字典和检索回来。
编辑:详细解释
ATTTEst *test=[[ATTTEst alloc]init];
[email protected]"a";
[email protected]"b";
ATTTEstOBJ *obj=[[ATTTEstOBJ alloc]init];
[email protected]"c";
[email protected]"d";
test.obj1=obj;
NSMutableDictionary *dict=[[NSMutableDictionary alloc]initWithCapacity:3];
[dict setObject:test forKey:@"test"];
NSLog(@"%@",dict);
ATTTEst *tester=[dict objectForKey:test];
NSLog(@"%@",tester.obj1.string3);
IT表示null.as输出我想要得到的值作为下tester.obj1.string3
它与NSDictionary有什么关系?你是否试图将它保存到一个文件? –
在编码器方法中对字符串1,字符串2,字符串3,字符串4,字符串1进行编码,并使用您编码它们的相同密钥进行解码。 – everconfusedGuy
@AviTsadok:更新了问题 –