objective-c - 从 NSDictionary 将实例变量初始化为键/值对?

标签 objective-c initialization nsdictionary nsobject kvc

我将 NSObject 子类的公共(public)接口(interface)定义为,

@interface MyObject : NSObject
{
    NSString *_key1;
    NSString *_key2;
    NSString *_key3;
}
- (id)initWithDict:(NSDictionary *)dict;
@end

是否有实现 initWithDict: 方法的技巧,以便我可以传递定义为

的 NSDictionary

{"key1" : "value1", "key2" : "value2", "key3" : "value3"}

init 方法可以设置相关的实例变量及其相应的“值”?

最佳答案

你必须使用 KVC .

NSDictionary *dict = @{@"key1" : @"value1", @"key2" : @"value2", @"key3" : @"value3"};
for (NSString *key in [dict allKeys]) {
   [self setValue:dict[key] forKey:key];
}

关于objective-c - 从 NSDictionary 将实例变量初始化为键/值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113224/

相关文章:

java - LayoutInflater 充气器和 ViewGroup 容器的空指针异常

c++ - 轻松初始化 std::strings 的 std::list?

ios - swift:推迟非可选对象初始化

ios - iOS-AWS Mobile Hub使用开发人员身份验证提供程序登录

objective-c - 有没有办法通过 XPC 传递任意结构?

iphone - 如何加快从 Web 服务加载图像的速度?

ios - 如何使用 objc 访问此数据集中的元素?

objective-c - 在 Finder 中获取所选文件的路径

ios - 在ios中缓存数据的最佳选择

objective-c - 禁用NSDictionary排序