2010年5月15日土曜日

@selector

@selector宣言は、異なるオブジェクトのメソッドの利用をコンパイラに指示する宣言のようです。

例:

-(NSArray *) sortedArrayUsingSelector:(SEL)comparator


配列内の要素を比較して、昇順にソートされた配列を返します。
NSStringの-caseInsensitiveCompare:や-compare:などNSComparisonResultを返すメソッドが使えます。
比較関数メソッドは2つの要素を比較してレシーバが引数よりも小さい時は  NSOrderedAscendingを、大きい時はNSOrderedDescendingを、同じ時はNSOrderedSameを返すようにします。

文字列の比較の場合、NSStringでcompare:が定義されているので以下の要領でソートした新しい配列を得ることができます。


NSArray *newArray = [theArray sortedArrayUsingSelector:@selector(compare:)];

0 件のコメント:

コメントを投稿