当前位置:  开发笔记 > 编程语言 > 正文

sortUsingFunction和"void值不应该被忽略,因为它应该是"

如何解决《sortUsingFunction和"void值不应该被忽略,因为它应该是"》经验,为你挑选了1个好方法。

在我的目标c类中,我想对这样的数组进行排序:

NSArray *sorted = [unsortedArray sortUsingFunction: mySort context: NULL];

我的排序功能实现为:

NSInteger mySort(id one, id two, void *ctx) { return 1; }

当我构建程序时,编译器告诉我:

error: void value not ignored as it ought to be

现在我想我知道编译器试图告诉我的内容:

"我不知道"mySort"到底是什么,所以我会假设它返回'void'.哎呀,看起来你正试图将'void'分配给变量,nope不能那样做.再试一次."

好吧,编译先生,我要告诉你什么,所以你知道函数原型是NSInteger mySort(id,id,void*)?我尝试将该行放在类头文件中,在"@interface"之后,几乎遍布整个地方,但我无法使其工作.

在哪里/如何为sort函数声明函数原型?

非常感谢,马克.



1> Marc Charbon..:

sortUsingFunction:是一个NSMutableArray方法,它重新排序数组对象并且不返回值.看起来你正在寻找sortedArrayUsingFunction:一个NSArray方法,它返回一个排序的,自动释放的数组浅层副本.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有