【发布时间】:2013-01-12 11:40:51
【问题描述】:
如何在NSDictionary 中存储未初始化的对象?
我想我会这样做,但我不确定这是一个好方法:
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:
[MyObject1 alloc], @"myObject1",
[MyObject2 alloc], @"myObject2"
, nil];
MyObject1 *object = [dict objectForKey:@"myObject1"];
[object init];
任何帮助将不胜感激。
【问题讨论】:
-
你为什么要这样做?
-
像 omz 一样,很难看出这一点。您基本上想为某些键存储一堆 nil 吗?这是不允许的,并且如上所述几乎没有意义。也许你正在接近你试图解决的任何任务,但结果是错误的。你的最终目标是什么?
-
我需要一个对象字典来实现相同的协议,但方法的实现会有所不同,键是告诉使用什么对象的参数。
-
你少了一个括号。
-
强调;您应该永远分配一个类的实例而不立即对其进行初始化,并且您应该始终假设来自初始化程序的返回值可能与来自分配器的返回值不同。
标签: objective-c nsdictionary nsobject alloc