次のような関数をオーバーライドする多くのメソッドがあります。
- (void)viewDidLoad
{
[super viewDidLoad];
}
super
親クラスの関数を呼び出していますが、自己はどこに割り当てられていますか?
次のような関数をオーバーライドする多くのメソッドがあります。
- (void)viewDidLoad
{
[super viewDidLoad];
}
super
親クラスの関数を呼び出していますが、自己はどこに割り当てられていますか?
self
「現在のオブジェクト」へのポインターであり、通常の初期化式で割り当てられます。
NSObject *foo = [[NSObject alloc] init];
を呼び出すと[NSObject alloc]
、後で として参照するオブジェクトがクラスによって作成されself
ます。
このように nib でクラスを初期化するときはいつでも:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
または単に自己が割り当てられるように初期化します
基本的に、次のように init 関数で初期化されます。
- (id) init
{
self = [super init];
return self;
}
ここ
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
これは自己に価値を割り当てることです
クラスを呼び出すと、alloc
そのスーパークラスinit
メソッドにアクセスして自分自身に渡します。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
}
return self;
}