Clang 拾遗之objc_designated_initializer

  1. 云栖社区>
  2. 博客>
  3. 正文

Clang 拾遗之objc_designated_initializer

canopus4u 2016-02-18 19:21:59 浏览4985
展开阅读全文

动因

前几天在Review代码时,发现了NS_DESIGNATED_INITIALIZER使用得并不正确。
我写了一篇博客(Playing with attributes 系列)。专门研究这个问题。
这里摘录一下。

objc_designated_initializer

使用方法

@interfaceMyObject:NSObject
- (instancetype)init __attribute__((objc_designated_initializer));
@end

在iOS中也可以写成

- (instancetype)init NS_DESIGNATED_INITIALIZER;

该属性可以指定类的初始化方法。指定初识化方法并不是对使用者。而是对内部的现实。譬如,下面这种情况

实例讲解

@interfaceMyObject:NSObj

网友评论

登录后评论
0/500
评论
canopus4u
+ 关注