1. 程式人生 > >object-c 簡單入門

object-c 簡單入門

end @property alloc 類方法 some ptr 轉發 protocal 實現

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 簡單入門