在我的目标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函数声明函数原型?
非常感谢,马克.
sortUsingFunction:
是一个NSMutableArray方法,它重新排序数组对象并且不返回值.看起来你正在寻找sortedArrayUsingFunction:
一个NSArray方法,它返回一个排序的,自动释放的数组浅层副本.