object-c 簡單入門
1、類
//類的聲明
@interface myClass : 父類 {
// {} 裏聲明成員變量
@public
@private
@protected //默認
}
// 類方法
+(返回類型) class_method;
// 實例方法。 第二個參數開始需要指定參數名andPtr,第一個可以不指定。
//OC中的函數重載不是根據參數類型,而是根據參數名
//下面方法的編譯後的函數名是 instance_method:andPtr:
-(返回類型) instance_method: (int) p1 andPtr: (int) p2;
@end
//類的實現
@implementation myClass
// 私有成員變量在這裏定義;
}
// 在這裏實現interface中聲明的方法
@end
2、創建對象
myClass* obj = [[myClass alloc] init];
myClass* obj = [myClass new];
3、方法調用
[ myArray insertObject:anObj atIndex:0 ];
myArray,可以是類名,也是可以是類對象,分別對應類方法,和實例方法
atIndex,第二個參數開始要與函數聲明時指定參數名一致
4、屬性, @property
// 使用屬性聲明指定成員變量的存取方式。後續單獨用一篇文章說明。
@property(copy) NSString *name;
5、字符串
NSString* myStr = @“string”;
NSString* myStr = [ NSString stringWithFormat: @"%d %s", 1 ,"quake"];
NSString* fromCString= [NSString stringWithCString:"C string" ];
6、協議 @protocal,
// 類似於java的interface
//c++的純虛類
@protocol Locking
- (void)lock;
- (void)unlock;
@end
@interface SomeClass : SomeSuperClass <Locking>
@end
後續補充Category, property, 轉發,動態類型
object-c 簡單入門