Jay*_*hao 5 objective-c automatic-ref-counting
我想写这样的东西:
@interface Foo{
__strong id idArray[];
}
@end
Run Code Online (Sandbox Code Playgroud)
但是编译器抱怨它:
Field has incomplete type '__strong id []'.
Run Code Online (Sandbox Code Playgroud)
如何在ARC下创建id数组成员实例?我如何初始化该数组?使用malloc?新[]?
我不想使用NSArray,因为我正在将一个大型库转换为ARC,这将导致很多工作.
Kaz*_*oto 11
如果要动态分配数组,请使用id __strong的指针类型.
@interface Foo
{
id __strong *idArray;
}
@end
Run Code Online (Sandbox Code Playgroud)
使用calloc分配数组.id __strong必须初始化为零.
idArray = (id __strong *)calloc(sizeof(id), entries);
Run Code Online (Sandbox Code Playgroud)
完成后,必须将nil设置为数组的条目,并且空闲.
for (int i = 0; i < entries; ++i)
idArray[i] = nil;
free(idArray);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |