0

有许多方法可以覆盖这样的函数:

- (void)viewDidLoad
{
    [super viewDidLoad];
}

所以super是调用父类函数,但是分配在哪里呢?

4

4 回答 4

1

self是指向“当前对象”的指针,它在通常的初始化公式中分配:

NSObject *foo = [[NSObject alloc] init];

当您调用[NSObject alloc]时,该类会创建一个您稍后称为的对象self

于 2013-03-26T09:16:53.077 回答
0

每当我们用 nib 像这样初始化我们的类时:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

或者简单地初始化self 将被分配

于 2013-03-26T09:16:11.690 回答
0

基本上它在 init 函数中初始化,如下所示:

- (id) init
{
  self = [super init];
  return self;
}
于 2013-03-26T09:16:14.577 回答
0

这里

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;
}
于 2013-03-26T09:16:21.657 回答