系统的两个宏NS_DESIGNATED_INITIALIZER和NS_REQUIRES_SUPER的使用

NS_DESIGNATED_INITIALIZER(特定构造方法)
子类如果重写了父类的特定构造方法, 那么必须使用super调用父类的特定构造方法(不一定是同名的)

NS_REQUIRES_SUPER
子类重写方法, 必须调用super父类的同名方法

@interface MyTest : NSObject
- (instancetype)initWithName:(NSString *)name NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithAge:(NSInteger)age NS_DESIGNATED_INITIALIZER;

- (void)run NS_REQUIRES_SUPER;
@end

你可能感兴趣的:(系统的两个宏NS_DESIGNATED_INITIALIZER和NS_REQUIRES_SUPER的使用)