Loose-Info.com
Last Update 2013/02/13
TOP - Objective-C - クラス - super

メソッド定義内において、「super」はスーパークラスのメソッドを利用する際に利用します。
メソッドがオーバーライドされて定義されている場合でも、スーパークラスのメソッドが呼び出されます。

(例)
MyTestClass.h
#import <Foundation/Foundation.h> @interface MyTestClass : NSObject { NSString *messageString; } - (id)initWithMessage: (NSString *)msgString; - (NSString *)messageString; @end

MyTestClass.m
#import "MyTestClass.h" @implementation MyTestClass - (id)initWithMessage: (NSString *)msgString { if (self = [super init]) // ここで使用 { messageString = [[NSString alloc] initWithString:msgString]; } return self; } - (NSString *)messageString { return messageString; } @end

main.m
#import "MyTestClass.h" int main (void) { MyTestClass *mtc = [[MyTestClass alloc] initWithMessage:@"test"]; NSLog(@"message : %@", [mtc messageString]); return 0; }

実行結果
message : test