我正在编写一个我想加快速度的应用程序。我想到的一种方法是从使用NSArray
和NSMutableArray
使用直接的 c 样式指针数组切换。
我曾天真地尝试过:
MyObject** objects = (MyObject**) malloc(N/2*sizeof(MyObject*))
这会在使用 ARC 时报告编译器错误,因为它不知道如何处理 ** 对象;这可以通过添加桥指令来解决。
我的问题是如何处理此内存以及如何混合 C 和Objective-C
对象进行内存管理。
两种解决方案是
MyObject* __weak* objects = (MyObject* __weak*) malloc(N/2*sizeof(MyObject*));
MyObject* __strong* objects = (MyObject* __strong*) malloc(N/2*sizeof(MyObject*));
这两个数组之间有什么区别,完成后如何释放/释放它们。是否NSArrays
已优化到不会导致加速的程度?