我想写这样的东西:
@interface Foo{
__strong id idArray[];
}
@end
但是编译器会提示:
Field has incomplete type '__strong id []'.
如何在ARC下创建一个id数组成员实例?我该如何初始化该数组? 使用 malloc?新的[]?
我不想使用 NSArray,因为我要将大型库转换为 ARC,这会导致大量工作。
最佳答案
如果要动态分配数组,使用id为__strong的指针类型。
@interface Foo
{
id __strong *idArray;
}
@end
使用 calloc 分配数组。 id __strong 必须初始化为零。
idArray = (id __strong *)calloc(sizeof(id), entries);
完成后,必须将数组的条目设置为 nil,然后释放。
for (int i = 0; i < entries; ++i)
idArray[i] = nil;
free(idArray);
关于objective-c - ARC下id数组成员实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308090/