&tag(Objective-C); *目次 [#e56ab480] #contents *プライベートメソッドを定義する [#xdfef936] .mファイルの先頭あたりで次のように記述する。 #pre{{ @interface RootViewController() - samplePrivateMethod; @end @implementation RootViewController }} *匿名カテゴリを使ってprotocolを実装 [#f1441993] -こんなこともできるらしい。delegateをヘッダーに書くと*.hをincludeしないといけなくなるので依存関係をへらしたいときに便利かも。 #pre{{ @interface DetailViewController () <TTTAttributedLabelDelegate, UIActionSheetDelegate> @property (nonatomic, copy) NSString *espressoDescription; @property (nonatomic) TTTAttributedLabel *attributedLabel; @end }} *型チェックを行う [#y22154e3] ***Classのメソッドを使う [#ida8df03] ***isSubclassOfClass [#a2fb3099] [[NSMutableArray class] isSubclassOfClass:[NSArray class]]; **NSObjectのメソッドを使う [#a55b748f] ***isKindOfClass [#gf4c5526] 引数のクラスか継承したクラスのインスタンスであるかどうか #pre{{ NSMutableArray *array = [[NSMutableArray alloc] init]; [array isKindOfClass[NSArray class]]; }} ***isMemberOfClass [#x5baad3a] 引数のクラスのインスタンスであるかどうか #pre{{ NSMutableArray *array = [[NSMutableArray alloc] init]; [array isKindOfClass[NSArray class]]; }} *文字列とクラスの変換 [#qff23f3f] -NSClassFromString / NSStringFromClassというのがある。