苹果在C中引入了封闭,以“块”的名称。我应该管理块的内存吗?如果是这样,我该怎么办?

有帮助吗?

解决方案

像具有函数范围的变量在普通C中一样,函数中的块文字具有自动存储持续时间。当您将块文字视为指针类型时,您会看到可能出了什么问题:当您从函数返回一个块时,您将返回指针到本地内存,这是不再有效的。

解决方案是使用 Block_copy() 每当您想返回一个块和 Block_release() 当您不再需要它时。

更多信息 本教程 在C中有一个单独的部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top