剑走偏锋--眼前一亮的编程手法

不同于以往惯用的的编程方法,有一些编程的语法总会让人眼前一亮,进而引发对内部逻辑的思考,里边的方法有新有旧,小子目光短浅,不到之处望诸君海涵。


创建对象

new方法, 直接创建一个新的对象出来,调用的是init方法,虽然实现的功能有限,但是用在适当的地方还是很不错的。

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:MASExampleListViewController.new];

类的初始化方法

定义一个class属性,直接在初始化时指定View的类型,当需要做Cell点击跳转等类似的事件处理时省去了新建大量VC的麻烦,感觉很赞!
另外init方法采用了如下方式,增加了代码的可读性。

@interface MASExampleViewController ()

@property (nonatomic, strong) Class viewClass;

@end

@implementation MASExampleViewController

- (id)initWithTitle:(NSString *)title viewClass:(Class)viewClass {
    self = [super init];
    if (!self) return nil;

    self.title = title;
    self.viewClass = viewClass;

    return self;
}

- (void)loadView {
    self.view = self.viewClass.new;
    self.view.backgroundColor = [UIColor whiteColor];
}

@end

你可能感兴趣的:(OC)