- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(Objective-C);
*目次 [#e56ab480]
#contents
*Tips [#b1a9c874]
**プライベートメソッドを定義する [#xdfef936]
*プライベートメソッドを定義する [#xdfef936]
.mファイルの先頭あたりで次のように記述する。
#pre{{
@interface RootViewController()
- samplePrivateMethod;
@end
@implementation RootViewController
}}
**型チェックを行う [#y22154e3]
**Classのメソッドを使う [#ida8df03]
*匿名カテゴリを使って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というのがある。