使用qsort时遇到问题。
qsort(ArrayToSort, size_a, size_b, FunctionPointer);
如果FunctionPointer声明为int(* FunctionPointer)();那很好。
如果FunctionPointer声明为FunctionPointer = @selector(MyMethod);
,那么我的运行时错误为BAD_ACCESS。
这里MyMethod是我自己的类方法,
int MyMethod(const void *,const void *);
请告诉我。非常感谢!
答案 0 :(得分:1)
不要使用类方法进行比较。只需声明一个常规的C函数并传递它。
答案 1 :(得分:1)
问题在于您尝试将C代码与Obj-C代码混合使用。 @selector(someMethod:)
返回SEL
,它既不是C函数也不是Obj-C方法。您要做的就是按照@ yan的建议并使用C函数进行比较或(我的建议),不要费心使用qsort
,只需使用NSArray
方法即可做你的排序。