2009-03-14 2 views
1

「それがあるべきとして無視ではない空値」、私はこのような配列をソートしたいと思います:sortUsingFunctionと私のObjective 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 

は今、私は、コンパイラは、TELしようとしているものを知っていると思います私:

"私はちょうど" mySort "が何であるかわからないので、私はそれが 'void'を返すと仮定します。変数に 'void'を代入しようとしているようですが、それはできません。もう一度試してみてください。私はあなたが関数のプロトタイプはNSInteger mySort(ID、ID、void *型)である知っているので、あなたに指示する必要がありますか?私はそのラインを入れてみました、世界でどのような」

さてさて、氏はコンパイラ、クラスヘッダーファイルの "@interface"のあと、あちこちにありますが、これはうまく動作しません。

私のソート用に関数プロトタイプを宣言する必要があります機能?事前に

ビッグおかげで、 マーク。

答えて

5

sortUsingFunction:はNSMutableArrayメソッドであり、配列オブジェクトの順序を変更し、値を返しません。配列のソートされた自動解放されたシャローコピーを返すNSArrayメソッドであるsortedArrayUsingFunction:を探しているようです。

関連する問題