Foundation.frameworkを検索対象に含める方法
Objective-cでのfor-inの仕様を調べていて、NSFastEnumerationに準拠しているクラスならfor-inが使えることがわかった。
そこで、どのクラスがNSFastEnumerationに準拠しているのか調べてみた。
この記事はprotocolに準拠しているクラスを探す方法についてのメモ。
結論から言うと、search navigatorで検索するのが一番早そう。
XcodeのOrganizerで調べる
Documentationで検索
XcodeのOrganizerを立ち上げ、DocumentationからNSDctionaryを検索
Conforms toの項目が準拠しているprotocolなので、ここにNSFastEnumerationが記載されていればforinが使える。
でもプロトコルに準拠しているクラスを探すのには向いてなさそう
しかし、OrganizerのDocumentationの検索窓にNSFastEnumerationと入れても、
NSFastEnumerationに準拠しているクラスは列挙されない。(見落としているだけかも?)
Xcodeのsearch navigatorで調べる
frameworkのヘッダファイルを検索対象に含めることができる。
つまりプロトコル宣言しているクラスを探すことができる。
search navigator -> 虫眼鏡アイコンクリック -> Show Find Options
"Find in" の And linked framworksにチェックを付ける
これでFoundation.framworkも検索対象に含まれるので、protocol準拠クラスを探すことができるようになった。
NSFastEnumerationに準拠しているクラスは、
NSArray, NSDictionary, NSHashTable, NSMapTable, NSOrderedSet, NSPointerArray, NSSet