zoukankan      html  css  js  c++  java
  • iOS block的使用

    前言:

    block是iOS开发中时间及参数传递的一种方法,和代理模式(delegate)相比,block是简单易用的轻量级事件传递方法。

    初始化:

    手打如下代码,或者从代码块把代码拖拽出来。

    typedef void(^upLoadImage)(NSString *str);//传参类型及形参

     

    @property(nonatomic, strong) upLoadImage block;

    方法的实现

    if (self.block) {//先判断

                    self.block(file);

                }



    使用方法前要先判断方法是否实现,若方法没有实现直接使用的话,会崩溃。

    方法的使用

    GXuploadImage *load = [[GXuploadImage alloc] init];

        __weak __typeof(self) weakSelf = self;

        load.block = ^(NSString *str) {

     

        };

    在block方法里面若使用self的方法和变量的时候,要使用weakSelf,否则会导致循环引用。

  • 相关阅读:
    什么是“开放构造类型”,“封闭构造类型”
    代码整洁整洁之道读书笔记 2
    学习 WCF By Visual Studio 2010 (1)起步“全双工”
    代码整洁整洁之道读书笔记 1
    学习 WCF By Visual Studio 2010 (2) 宿主
    持久层通用组件设计与范例,写给某孩子(基于JDBC)
    [zz]JS后退一页, JS返回上一页代码, JS返回下一页,JS返回第几页,JS页面跳转, JS引用JS
    web下vs2008+crystal report 不预览直接打印
    用SQL语句删除重复记录
    Gridview 添加行.
  • 原文地址:https://www.cnblogs.com/yxl-151217/p/10411580.html
Copyright © 2011-2022 走看看