修饰符是用来修饰所有方法的,比如查看UIViewController.h会看到他们的使用
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
-
NS_DESIGNATED_INITIALIZER
:表示类的这个方法必须在子类实现 -
NS_UNAVAILABLE
:表示类的这个方法在子类不可用 -
NS_REQUIRES_SUPER
:表示类的这个方法在子类重写时,必须在方法内部使用super调用父类的这个方法。
若子类重写方法时不想去调用父类的方法,又不想出现警告,可以用下面的方式处理。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
- (void)initUI {
// [super initUI];
}
#pragma clang diagnostic pop
网友评论