iOS類方法

前言

今天看別人的代碼,看到一個.m類中,摻雜了一個static修飾的方法,然後上網查了查,發現是C語言形式的類方法寫法

例子

這裏寫個例子來驗證下

- (void)viewDidLoad {
    [super viewDidLoad];

    char *a = "c string";
    NSString *b = @"length change over 100000";

    NSString *aString = [NSString stringWithUTF8String:a];

    NSLog(@"OC類方法調用 aString長度是否大於10? %d",[[self class] normalPlusMethodWithString:aString]);
    NSLog(@"C寫法,方法調用 aString長度是否大於10? %d",isLengthWhetherLargerThan10(aString));

    NSLog(@"OC類方法調用 b長度是否大於10? %d",[[self class] normalPlusMethodWithString:b]);
    NSLog(@"C寫法,方法調用 b長度是否大於10? %d",isLengthWhetherLargerThan10(b));
}


+ (BOOL)normalPlusMethodWithString:(NSString *)str {
    return str.length > 10;
}

static BOOL isLengthWhetherLargerThan10(NSString *str) {
    return str.length > 10;
}

//控制檯 輸出

//OC類方法調用 aString長度是否大於10? 0
//C寫法,方法調用 aString長度是否大於10? 0
//OC類方法調用 b長度是否大於10? 1
//C寫法,方法調用 b長度是否大於10? 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章