block的堆栈?

作者: 光明程辉 | 来源:发表于2016-04-28 13:46 被阅读84次

    block究竟放在什么地方:堆\栈?

        // 默认情况下, 任何block都是在栈, 随时可能会被回收
    
        void (^myblock)() = ^{
            
        };
        
        // 对block做一次copy操作,block的内存就会放到堆里面
        [myblock copy];
        Block_copy(myblock);
    

    注:BLOCK被另一个BLOCK使用时,另一个BLOCK被COPY到堆上时,被使用的BLOCK也会被COPY。但作为参数的BLOCK是不会发生COPY的

    相关文章

      网友评论

        本文标题:block的堆栈?

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