码迷,mamicode.com
首页 > 其他好文 > 详细

框架设计

时间:2016-04-10 12:39:18      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

1.NS_DESIGNATED_INITIALIZER

  • 方法后面带有 NS_DESIGNATED_INITIALIZER 时, 为特定构造方法
  • 注意:子类如果重写了父类的特定构造方法, 那么必须使用super调用父类的特定构造方法 
    • 警告信息: 
    • Designated initializer missing a ‘super‘ call to a designated initializer of the super class
  • 例子
    - (instancetype)initWithFrame:(CGRect)frame
    {
        if (self = [super initWithFrame:frame]) {
            self.titleLabel.font = [UIFont systemFontOfSize:16];
            // 文字颜色
            [self setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
            [self setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
        }
        return self;
    }

     

2.NS_REQUIRES_SUPER

  • 方法后面带有 NS_REQUIRES_SUPER , 则必须先调用父类的方法
  • 警告信息: 
  • Method possibly missing a [super run] call
@interface XMGTest : NSObject
- (void)run NS_REQUIRES_SUPER;
@end
 

@interface XMGSecondTest : XMGTest
@end
@implementation XMGSecondTest
- (void)run
{
    // 不调用, 则会有警告信信
    //[super run];
}
@end

 

框架设计

标签:

原文地址:http://www.cnblogs.com/KeenLeung/p/5373663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!