我正在尝试向我的自定义对象添加一个便利构造函数.相近[NSArray arrayWithArray:]
我知道它涉及一个返回自动释放对象的类方法.我一直在谷歌搜索,但我似乎找到的只是一个方便构造函数的定义,但不是如何写一个.
Jon*_*pan 33
假设您有以下内容:
@class PotatoPeeler : NSObject
- (instancetype)initWithWidget: (Widget *)w;
@end
Run Code Online (Sandbox Code Playgroud)
然后要添加工厂方法,您可以将其更改为:
@class PotatoPeeler : NSObject
+ (instancetype)potatoPeelerWithWidget: (Widget *)w;
- (instancetype)initWithWidget: (Widget *)w;
@end
Run Code Online (Sandbox Code Playgroud)
你的实现只是:
+ (instancetype)potatoPeelerWithWidget: (Widget *)w {
return [[[self alloc] initWithWidget: w] autorelease];
}
Run Code Online (Sandbox Code Playgroud)
编辑:替换id为instancetype.它们在功能上是相同的,但后者为编译器提供了有关方法返回类型的更好提示.
| 归档时间: |
|
| 查看次数: |
8968 次 |
| 最近记录: |