【发布时间】:2010-03-10 15:06:41
【问题描述】:
这两种创建和初始化对象的方法是否更可取?
MyClass oClass = [[MyClass alloc] init];
oClass.length = 5;
oClass.text = @"Hello";
或使用包含大致相同代码但看起来像这样的类方法:
MyClass oClass = [MyClass myClassWithLength:(int) 5 andText:(NSString *) @"Hello"];
当我看到事情以不止一种方式完成时,我讨厌它,我不知道其中一种是否比另一种更好,或者为什么!
【问题讨论】:
-
你的意思是[MyClass myClassWithLength:...?
-
从来没有一个类方法会被调用
initWith...——init 方法总是实例方法。它将永远是[[MyClass alloc] initWith...]。不过,类有时会像 Ross 所询问的那样提供便利的构造函数。只是为了清楚。
标签: objective-c object creation preference