首页 > 其他 > 详细

框架设计

时间:2016-04-10 12:39:05      阅读:390      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!