zoukankan      html  css  js  c++  java
  • iOS之Block笔记

    iOS之Block笔记

      1、Block如果定义在函数中,则生成在栈上,当离开作用域后,block就被释放。如果定义在全局,则生成在全局空间。全局空间block永不释放。对于下图代码,block的调用会失败。

      

      2、如果一个Block没有引用外部变量则可以安全的直接用“=”传递指针,以供后续运行。

      3、Block是个结构体,包含code的地址和变量存储的地址,code是个函数,编译后永远存在,地址不变,但存储数据的地址是可变的,即Block对象本身的地址是可变的。

      4、所以,如果在需要保留1个block以供以后使用,需要使用copy把block的亦是拷贝到堆上。使用完后,使用release再释放掉。

      5、Block内部结构:

      

  • 相关阅读:
    Python学习9——异常
    提取微信小游戏代码
    linux 命令记录
    cpp 线程传递参数
    c++ primer 记录1
    你不知道的js
    js中的对象 函数 原型
    C++ 获取时间
    linux 常见命令
    git 的基本命令
  • 原文地址:https://www.cnblogs.com/tekkaman/p/2742695.html
Copyright © 2011-2022 走看看