在objective-c中从NSDictionary创建NSObject

ale*_*ngn 4 for-loop objective-c nsdictionary nsobject

我想使用"for ... in"循环将字典中的每个项目分配到我的对象中

我有一个类似的NSDictionary:

{"user_id" : "1", "user_name" : "John"}
Run Code Online (Sandbox Code Playgroud)

我有一个带变量的NSObject:

NSString *user_id;
NSString *user_name
Run Code Online (Sandbox Code Playgroud)

使用for循环,我想在我的NSObject中分配我的NSDictionary中的每个项目

for (NSString *param in userDictionary) {

}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

谢谢,

sch*_*sch 14

看看NSObject类方法:

- (void)setValue:(id)value forKey:(NSString *)key;
Run Code Online (Sandbox Code Playgroud)

例如:

[userDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
    [myObject setValue:obj forKey:(NSString *)key];
}];
Run Code Online (Sandbox Code Playgroud)

  • 您可以在`code`之前检查if([obj respondsToSelector:NSSelectorFromString(key)])`code` (2认同)