首页 > 其他 > 详细

block 高级

时间:2014-12-16 18:36:29      阅读:252      评论:0      收藏:0      [点我收藏+]

 

 

//从后往前传值 声明block属性

//copy 目的是 将栈区的block拷贝一份到堆区

@property(nonatomic,copy)void (^sendValueBlock)(id);

 

 

 

 //1,

    LoginViewController *loginVC = [[LoginViewController alloc] init];

    

    //2,给需要传值的block的值赋值 (实现)

    //如果想要再block内部使用一个对象,并不想被block持有

    //弱引用 。在内部使用需在外部创建一个同类型的对象

    __block MineTableViewController *weakSelf = self;

    loginVC.sendValueBlock = ^(id obj){

        //将传递过来的值设置为title

        //不能在block内写self,也不能写self的属性。非要使用要使用__block 修饰

        weakSelf.title = obj;

    };

    

    NSLog(@"%lu",self.retainCount);

    //

    [self.navigationController  pushViewController:loginVC animated:YES];

    

    [loginVC release];

}

 

block 高级

原文:http://www.cnblogs.com/iOS-mt/p/4167544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!