NSArray/NSMutableArray をソートする
NSArray に格納した任意のオブジェクトの配列を何らかのキーでソートするには
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context
を使う
第1引数は、比較を行うためのC言語の関数を定義する
第2引数は、第1引数で指定した関数の引数を定義できる
例えば、下の関数では、Info というクラスの percent という実数をキーとして降順にソートする
で、
NSArray *array = [infos sortedArrayUsingFunction: compareInfo context:NULL];
//infos は、Infoクラスのインスタンスの配列
こうすると、array には、infos を percent で降順ソートした配列が格納される
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context
を使う
第1引数は、比較を行うためのC言語の関数を定義する
第2引数は、第1引数で指定した関数の引数を定義できる
例えば、下の関数では、Info というクラスの percent という実数をキーとして降順にソートする
NSInteger compareInfo(id aInfo1, id aInfo2, void *context)
{
float dpercent1 = ((Info*) aInfo1).percent;
float dpercent2 = ((Info*) aInfo2).percent;
if (dpercent1 < dpercent2)
return NSOrderedDescending;
else if (dpercent1 > dpercent2)
return NSOrderedAscending;
else
return NSOrderedSame;
}
で、
NSArray *array = [infos sortedArrayUsingFunction: compareInfo context:NULL];
//infos は、Infoクラスのインスタンスの配列
こうすると、array には、infos を percent で降順ソートした配列が格納される
iPhone SDK 3.0 beta をインストールしてみた
今年の夏に、iPhone OS 3.0 がでるということで、昨日(アメリカ3月17日)から
開発者向けに開発環境(SDK)のベータ版が配布されている。

iPhone OS 3.0 ではアプリ内での課金、コピペ、プッシュ通知など待ち望んでいた機能が目白押し。
ということで、早速、iPhone SDK 3.0 beta をインストールしてみたんですが・・・
これまで開発していたプロジェクトを実機に転送しようとビルドしたら、ビルドエラー!
なぜ!?
エラーをみるとコード署名がおかしいみたい。
で、プロジェクトの設定からコード署名をみると値の欄が「?」になってしまている。
なぜ!?
この後、Xcode を再起動してみたり、証明書を再発行してみたりといろいろやってみたが解決せず。
オーガナイザも少し変更されているような(汗)
Webで情報を検索しても昨日の今日なので有力な情報が得られず。。。
で、結局 SDK 2.2.1 に戻しました。
そしたら、コード署名の欄も復活し、試行錯誤のなかでいろいろと変えてしまった設定を戻し、無事、実機に転送できるようになり一安心。
たぶん自分と同じようにハマる人が続出するのではないかな~
それとも、こうなるよ、ってどっかに書いてあるのかな~
開発者向けに開発環境(SDK)のベータ版が配布されている。

iPhone OS 3.0 ではアプリ内での課金、コピペ、プッシュ通知など待ち望んでいた機能が目白押し。
ということで、早速、iPhone SDK 3.0 beta をインストールしてみたんですが・・・
これまで開発していたプロジェクトを実機に転送しようとビルドしたら、ビルドエラー!
なぜ!?
エラーをみるとコード署名がおかしいみたい。
で、プロジェクトの設定からコード署名をみると値の欄が「?」になってしまている。
なぜ!?
この後、Xcode を再起動してみたり、証明書を再発行してみたりといろいろやってみたが解決せず。
オーガナイザも少し変更されているような(汗)
Webで情報を検索しても昨日の今日なので有力な情報が得られず。。。
で、結局 SDK 2.2.1 に戻しました。
そしたら、コード署名の欄も復活し、試行錯誤のなかでいろいろと変えてしまった設定を戻し、無事、実機に転送できるようになり一安心。
たぶん自分と同じようにハマる人が続出するのではないかな~
それとも、こうなるよ、ってどっかに書いてあるのかな~
