yashigani?.days

週刊少年ジャンプについてだらだら書きます

セレクタを配列にしてみた

セレクタは便利だけど,オブジェクトじゃないのでそのまま NSArray にはつっこめない.
NSValue でラップすればできるけど,同じスコープ内でとりあえず使いたいときとかにはかなりめんどう.
しばらく考えた結果,C の配列にしてみた.

SEL selectors[] = {@selector(methodA:), @selector(methodB:)}


みたいにすればうまくいった.
実用性はあんまりないけど,テストとかでちょっと配列が欲しくなったりしたときに覚えておくと便利.
C とか久しく書いてなかったからビクビクしながら書いたけど大丈夫だった.


ちなみに,

for (int i = 0; i < sizeof(selectors) / sizeof(SEL); ++i) {
    // hogehoge
}

みたくすれば配列ぶんまわせる.