iPhoneアプリ開発の虎の巻
HOME > NSObject

NSObject

NSObjectクラスは全てのクラスのスーパーラスで、どのクラスでも必要となるメソッドが定義されています。

NSObjectのクラス階層

NSObject

NSObjectのメソッド

【NSObjectの主要メソッド】
メソッド 説明
+(id)alloc インスタンスを生成する
(例)[UILabel alloc];
-(id)init インスタンスを初期化する
(例)[obj init];
-(void)release 参照カウンタを-1する
(例)[obj release];
-(id)retain 参照カウンタを+1する
(例)[obj retain];
-(id)autorelease 自動解放対象とする
(例)[obj autorelease];
-(int)retainCount 参照カウンタを返す
(例)int cnt = [obj retainCount];
-(void)dealloc メモリ領域の解放
(例)[obj dealloc];
+(Class)class クラスを返す
(例)NSStringクラスのClassオブジェクトを取得する
 Class c = [NSString class];
-(id)copy インスタンスのコピーを返す
(例)s1をコピーしてs1copyを作成する
 NSString *s1 = @"ほげ";
 NSString *s1copy = [s1 copy];
-(id)mutableCopy インスタンスの可変コピーを返す
(例)NSMutableArray *mar = [ar mutableCopy];
-(BOOL)isEqual:(id)object オブジェクトが同じであるかの比較
(例)BOOL b = [obj1 isEqual:obj2];
-(BOOL)isMemberOfClass:(Class)class クラスと同じであるかの判定
(※同じクラスである場合のみYES)
(例)objがNSArrayクラスであるかを判定
 BOOL b = [obj isMemberOfClass:[NSArray class]];
-(BOOL)isKindOfClass:(Class)class クラスのサブクラスであるかの判定
(※同じクラスかサブクラスの場合にYES)
(例)objがNSStringクラスまたはそのサブクラスであるかを判定
 BOOL b = [obj isKindOfClass:[NSString class]];
-(NSString*)description オブジェクトをNSString形式で表す
(Javaでいう.toString()みたいなメソッドです。)
(例)NSString *str = [obj description];

主要なメソッドのみ掲載しています。

NSObjectのメソッド

【NSObjectの主要メソッド】
メソッド名 説明
-(void)performSelector:(SEL)aSelector
withObject:(id)anArgument
afterDelay:(NSTimeInterval)delay
指定したタイミングでメソッドを呼び出す
※下記例文参照。
-(void)performSelectorInBackground:
(SEL)aSelector withObject:(id)arg
指定したメソッドをバックグラウンドで実行する
※下記例文参照。

主要なメソッドのみ掲載しています。

NSObject例文

【指定したメソッドをn秒後に呼び出す】

// 2.5秒後にhogeメソッドを呼び出す
[self performSelector:@selector(hoge:) withObject:@"ほげ" afterDelay:2.5f];
// 呼ばれるhogeメソッド
-(void)hoge:(NSString*)str{
    NSLog(str);  // 「ほげ」 が表示される
}

【指定したメソッドをバックグラウンドで実行する】

// hogeメソッドに「ほげ」という文字列を引き渡しバックグラウンドで実行する
[self performSelectorInBackground:@selector(hoge:) withObject:@"ほげ"];
// 呼ばれるhogeメソッド
-(void)hoge:(NSString*)str{
    NSLog(str);  // 「ほげ」 が表示される
}
totop