Iphone 自我客体是如何分配的,在哪里分配的?
有许多方法可以覆盖这样的函数:Iphone 自我客体是如何分配的,在哪里分配的?,iphone,ios,objective-c,Iphone,Ios,Objective C,有许多方法可以覆盖这样的函数: - (void)viewDidLoad { [super viewDidLoad]; } - (id) init { self = [super init]; return self; } 因此,super正在调用父类函数,但是self在哪里分配?每当我们用nib像这样初始化类时: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (id) init
{
self = [super init];
return self;
}
因此,
super
正在调用父类函数,但是self在哪里分配?每当我们用nib像这样初始化类时:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
或者简单地init将分配self基本上,它是在init函数中初始化的,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (id) init
{
self = [super init];
return self;
}
这里
这是自我赋值
当您调用类并alloc
它时,它将访问它的超级类init
方法并传递给self
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
}
return self;
}
self
是指向“当前对象”的指针,它按照通常的初始化公式分配:
NSObject *foo = [[NSObject alloc] init];
当您调用[NSObject alloc]
时,该类将创建一个对象,您稍后将其称为self