Objective-C self關鍵字

在類的實現內部:


@implementation test


- (void)viewDidLoad {
    [super viewDidLoad];
    [self test3];
    [test test4];   //在實例方法中只能通過類名訪問

}

-(void)test1{
    NSLog(@"dong tai");
}

+(void)test2{
    NSLog(@"jing tai");
}

-(void)test3{
    [self test1];      
//    [self test2];   調用錯誤
}

//總結:實例方法中可以用 self 調用實例方法,但不能用 self調用類方法

+(void)test4{
//    [self test1];    調用錯誤
    [self test2];

}

//總結: 類方法中可以用self調用類方法,但不能用self調用實例方法

@end


非類內部訪問:類方法的調用可以通過類名.類方法和對象.類方法,而實例方法只能通過對象.實例方法訪問。 也就是說類方法,不需要實例化對象就可以調用的方法,成員方法,必須通過實例化的對象調用。

還要注意:

1,類方法可以調用類方法。
2,類方法不可以調用實例方法,但是類方法可以通過創建對象來訪問實例方法。
3,類方法不可以使用實例變量。類方法可以使用self,因爲self不是實例變量,但只能用self訪問類方法。
4,類方法作爲消息,可以被髮送到類或者對象裏面去(實際上,就是可以通過類或者對象調用類方法的意思)。

發佈了16 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章