我有一个NSFoo类,有一个酒吧属性。我想要一个类方法来获取带有bar属性集的NSFoo实例。这将与NSString stringWithFormat类方法类似。所以它的签名是:如何在Objective-C中创建分配器类方法?
+ (NSFoo *) fooWithBar:(NSString *)theBar;
所以,我只能说这是这样的:
NSFoo *foo = [NSFoo fooWithBar: @"bar"];
我想这可能是正确的:
+ (NSFoo *) fooWithBar:(NSString *)theBar {
NSFoo *foo = [[NSFoo alloc] init];
foo.bar = theBar;
[foo autorelease];
return foo;
}
是否正确?
您可以通过在最后两行合并成回报简化它一点点[foo autorelease]; – 2009-04-22 15:44:27
作为一个方面说明,NS前缀是为可可类保留的(最初是NextStep类库)。如果需要防止名称冲突,则应该为自己的类使用自己的前缀。 – 2009-04-22 20:02:56