【发布时间】:2010-04-24 22:38:30
【问题描述】:
我必须根据一个整数参数初始化很多不同类型的对象。它们都有相同的整体初始化方法。
目前我有以下代码
#def APPLE 1
#def PEAR 2
switch (t)
{
case APPLE:
newobj = [[FApple alloc] init];
break;
case PEAR:
newobj = [[FPear] alloc] init];
break;
default:
retobj = nil;
}
我相信一定有更好的方法来做到这一点。当我添加 FOrange 时,我必须在此处添加另一行。
有什么更好的方法?
【问题讨论】:
-
你的班级必须这样设计吗?似乎拥有一个 Class 参数并执行 [[thatClass alloc] init] 会更有意义。
标签: iphone c objective-c cocoa