美文网首页
iOS底层 - Block 的copy

iOS底层 - Block 的copy

作者: OwenKing | 来源:发表于2020-05-21 14:36 被阅读0次

    本文是通过学习优秀博客的记录整理与理解,然后以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢 !

    在ARC环境下,编译器会根据情况自动将栈上的block复制到堆上;比如以下情况:

    2. 将block复制给__strong(强)指针时;
    3. block作为Cocoa API中方法名,含有usingBlock的方法参数时;
    4. block作为GCD API的方法参数时;
    5. block作为属性声明时;
    MRC下的block属性的建议写法
    @property (copy, nonatomic) void (^block) (void);
    ARC下的block属性的建议写法
    @property (strong, nonatomic) void (^block)(void);
    @property (copy, nonatomic) void (^block) (void);
    

    相关文章

      网友评论

          本文标题:iOS底层 - Block 的copy

          本文链接:https://www.haomeiwen.com/subject/zbizohtx.html