OC当中的闭包

OC当中闭包的基本定义

 int (^sumBlock)(int,int)

随后定义其具体的实现方式
  int (^sumBlock)(int,int) = ^(int a,int b){
        return a + b;
    };
关于swift 和OC中闭包的区别 可以看这个博客 目前个人也不是很看得懂。。。

http://www.jianshu.com/p/d0d7b519fec1
随后OC当中的闭包 是会捕获外部的变量的,但不会对其进行修改,若想进行修改的话,外部的变量需要定义成 __block

  __block int value = 10;
这样在OC中便可以进行捕获 并进行修改

OC当中的闭包经常出现循环引用的方法 在此可以在外部将其定义成weak 随后进行在闭包中的调用即可

__weak typeof (view) weakView =  view;
    __weak typeof (self) myself = self;
具体的可看这个文档

http://www.cnblogs.com/ludashi/p/3903054.html

    [self performSelector:@selector(EnterScreen) withObject:nil afterDelay:enterDuraton];

表示在runLoop在经过afterDelay时间后 执行这个函数 若想中间停止执行这个函数 可以用

[NSObject cancelPreviousPerformRequestsWithTarget:self];

OC当中对于property systenze 和assign retain的进一步解释

http://www.devtalking.com/articles/you-should-to-know-property/

对于数组 OC当中都是对于他们要进行初始化操作的

这里bulletComment是一个数组 如果不存在的话 就要进行初始化加载

-(NSMutableArray *)bulletComments{
    if(!_bulletComments){
        _bulletComments = [NSMutableArray array];
    }
    return _dataSource;
}
-(NSMutableArray *)bulletViews{
    if(!_bulletViews){
        _bulletViews = [NSMutableArray array];
    }
    return _bulletViews;
}

在类的初始化过程当中 首先也要执行一句 if(self = [super init])

赋值并测试nil只是为了防止超类在初始化过程中发生改变 而返回不同的对象

http://www.jianshu.com/p/4c9112f8625d



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值