自我对象的分配方式和位置?

时间:2013-03-26 09:12:06

标签: iphone ios objective-c

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

当您致电[NSObject alloc]时,该课程会创建一个您稍后称为self的对象。

答案 1 :(得分:0)

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

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

或只是 init 将分配自我

答案 2 :(得分:0)

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

- (id) init
{
  self = [super init];
  return self;
}

答案 3 :(得分: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;
}