gpt4 book ai didi

objective-c - block 将在闭包中保留什么类型的对象?

转载 作者:行者123 更新时间:2023-11-29 05:03:17 25 4
gpt4 key购买 nike

如何判断闭包将保留哪种类型的对象?是否有闭包将/不会保留的任何特定规则或类型列表?

最佳答案

保留所有 Objective-C 对象。其他一切都只是复制。例如,以下是三个变量:

NSArray* array = [NSArray array];
int i = 0;
int* ptr = malloc(sizeof(int));

所有三个变量都可以从 block 内部读取。但是,只有 array 会被保留,因为它是唯一可以调用 retain 方法的变量。

应特别注意确保在执行 block 时 ptr 指向的位置仍然存在,因为它是一个无法保留的指针。

关于objective-c - block 将在闭包中保留什么类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com