如何引用类的方法?

时间:2011-02-21 16:33:19

标签: objective-c class methods

使用qsort时遇到问题。

qsort(ArrayToSort, size_a, size_b, FunctionPointer);

如果FunctionPointer声明为int(* FunctionPointer)();那很好。

如果FunctionPointer声明为FunctionPointer = @selector(MyMethod);,那么我的运行时错误为BAD_ACCESS。

这里MyMethod是我自己的类方法,

int MyMethod(const void *,const void *);

请告诉我。非常感谢!

2 个答案:

答案 0 :(得分:1)

不要使用类方法进行比较。只需声明一个常规的C函数并传递它。

答案 1 :(得分:1)

问题在于您尝试将C代码与Obj-C代码混合使用。 @selector(someMethod:)返回SEL,它既不是C函数也不是Obj-C方法。您要做的就是按照@ yan的建议并使用C函数进行比较或(我的建议),不要费心使用qsort,只需使用NSArray方法即可做你的排序。