標籤:
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關鍵字