emd*_*og4 3 initialization objective-c nsdictionary nsobject kvc
我将我的NSObject子类的公共接口定义为,
@interface MyObject : NSObject
{
NSString *_key1;
NSString *_key2;
NSString *_key3;
}
- (id)initWithDict:(NSDictionary *)dict;
@end
Run Code Online (Sandbox Code Playgroud)
是否有技巧来实现initWithDict:方法,以便我可以传递定义为的NSDictionary
{"key1":"value1","key2":"value2","key3":"value3"}
并且init方法可以设置相关的实例变量及其对应的"值"?
Dru*_*erB 15
你必须使用KVC.
NSDictionary *dict = @{@"key1" : @"value1", @"key2" : @"value2", @"key3" : @"value3"};
for (NSString *key in [dict allKeys]) {
[self setValue:dict[key] forKey:key];
}
Run Code Online (Sandbox Code Playgroud)