Mas*_*son 6 protocols objective-c nsobject ios
假设我正在创建一个带有自定义初始化程序的协议,我希望我的某些模型对象符合它.
@protocol SomeProtocol <NSObject>
- (instancetype)initWithContext:(Context *)context;
@end
Run Code Online (Sandbox Code Playgroud)
在这样做时,我也希望-[NSObject init]无法使用.我过去完成的方式是在标题中声明类似的内容:
- (instancetype)init NS_UNAVAILABLE;
要么:
- (instancetype)init __attribute__((unavailable("Use -initWithContext:")));
有没有办法在协议中包含类似上面的内容,以便符合此协议的任何类都将使其默认初始化方法不可用?
为了明确,我想知道以下内容是否有效:
@protocol SomeProtocol <NSObject>
- (instancetype)initWithContext:(Context *)context;
- (instancetype)init __attribute__((unavailable("Use -initWithContext:")));
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |