Apple在C中引入了一个名为“block”的闭包。 我应该管理块的内存吗?如果是这样,我该怎么做?
答案 0 :(得分:1)
与普通C中具有函数作用域的变量类似,函数中的块文字具有自动存储持续时间。当您将块文字视为指针类型时,您会看到可能出现的错误:当您从函数返回块时,您将返回指向本地内存的指针,该指针不再有效。
解决方案是在您想要返回块时使用Block_copy()
函数,在不再需要时使用Block_release()
。
this tutorial中有关C中块的单独部分的更多信息。