Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c realloc()&;弧_Objective C_Automatic Ref Counting_Factory Pattern - Fatal编程技术网

Objective c realloc()&;弧

Objective c realloc()&;弧,objective-c,automatic-ref-counting,factory-pattern,Objective C,Automatic Ref Counting,Factory Pattern,我怎样才能重写下面的实用程序类来获取特定类型的所有类字符串值——使用Objective-c运行时函数,如下所示 ARC文档特别指出应避免使用realloc,我在这一行中还发现了以下编译器错误: classList = realloc(classList, sizeof(Class) * numClasses); “ARC不允许将非目标C指针类型“void*”隐式转换为“\u unsafe\u unrepaired Class*” 下面的代码是对可以找到的原始文章的引用 +(NSArray*)C

我怎样才能重写下面的实用程序类来获取特定类型的所有类字符串值——使用Objective-c运行时函数,如下所示

ARC文档特别指出应避免使用realloc,我在这一行中还发现了以下编译器错误:

classList = realloc(classList, sizeof(Class) * numClasses);
“ARC不允许将非目标C指针类型“void*”隐式转换为“\u unsafe\u unrepaired Class*”

下面的代码是对可以找到的原始文章的引用

+(NSArray*)ClassStringsforClasseSoflasseSoftType:(类)filterType{
int numclass=0,newnumclass=objc_getClassList(NULL,0);
Class*classList=NULL;
while(numclass

我们将非常感谢您的帮助。

ARC迫使您在内存管理方面更加明确。在这种情况下,您只需要显式强制转换realloc的输出:

classList = (Class *)realloc(classList, sizeof(Class) * numClasses);

执行显式强制转换(void*)类列表。也不要考虑使用ReloLc。您想在这里完成什么?您真的需要使用ARC运行代码,还是可以接受在非ARC模式下运行代码(
-fno objc ARC
在要禁用ARC的类的反目标生成设置中标记)。请看:@wolfgangshreurs谢谢,我完全忘记了链接器标志选项。谢谢,这正是我要找的!谢谢你为我省下了几个小时的挫折。
classList = (Class *)realloc(classList, sizeof(Class) * numClasses);