Objective-C 類方法 self關鍵字

來源:互聯網
上載者:User

標籤:

NSString基本使用 

#import <Foundation/Foundation.h>int main() {    //最簡單的建立字串的方式    NSString *str = @"大武漢";    NSLog(@"我在%@", str);        //另一種建立字串的方式    int age = 15;    int no = 5668;    NSString *name = @"黃禕a";    NSString *newStr = [NSString stringWithFormat : @"My age is %i and My no is % i and My name is %@", age, no, name];    NSLog(@"---------%@", newStr);        //擷取字串的長度    int size = [name length];    NSLog(@"名字的長度是%i", size);    return 0;}

類方法

#import <Foundation/Foundation.h>@interface Person : NSObject+ (void) test;@end@implementation Person+ (void) test {    NSLog(@"hello world");}@endint main() {    [Person test];    return 0;}/* 對象方法    以 - 開頭 <只能>由對象調用    對象方法可以使用成員變數    相對而言效率低  類方法    以 + 開頭 <只能>由類調用    類方法不能使用成員變數    相對而言效率高  一個類中允許出現對象方法名 = 類方法名 */ 

self關鍵字

#import <Foundation/Foundation.h>@interface Person : NSObject {    @public    int _age;}- (void) show;- (void) test1;- (void) test2;@end@implementation Person- (void) show {    NSLog(@"Person的年齡是%i", _age);}- (void) test1 {    int _age = 20;    NSLog(@"Person的年齡是%i", _age);}- (void) test2 {    int _age = 30;    NSLog(@"Person的年齡是%i", self->_age);}@endint main() {    Person *p = [Person new];    [p show];    [p test1];    [p test2];    return 0;}//當成員變數和局部變數同名 採取就近原則 訪問的是局部變數//用self可以訪問成員變數 區分成員變數和局部變數/** 使用細節 **///出現的地方: 所有OC方法中(對象方法|類方法) 不能出現在函數中//作用: 使用‘self->成員變數名‘訪問當前方法調用的成員變數; 使用‘[self 方法名]‘用來調用方法(對象方法|類方法)/** 常見錯誤 **///用self去調用函數//類方法中使用self調用對象方法 對象方法中使用self調用類方法//self死迴圈

Objective-C 類方法 self關鍵字

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.