歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

快速入門Objective-C必備錦囊

發(fā)布時間:2016-06-15 23:33  回復:0  查看:2640   最后回復:2016-06-15 23:33  

Objective-C 是一種通用的,面向?qū)ο蟮木幊陶Z言。雖然蘋果公司強勢推出了Swift語言,但Objective-C 仍然是主流的iOS開發(fā)語言,尤其在國內(nèi)。這里給大家介紹Objective-C編程語言的基礎知識,幫助大家快速入門。

Interface 和 Implementation 在Objective-C中,定義類的文件叫Interface文件,類的實現(xiàn)文件叫Implementation文件。 一個簡單的Interface文件MyClass.h看起來像下面這樣: @interface MyClass:NSObject{ // class variable declared here } // class properties declared here // class methods and instance methods declared here @end 而相應的Implementation文件看起來像下面這樣: @implementation MyClass // class methods defined here @end

創(chuàng)建對象 創(chuàng)建對象: MyClass  *objectName = [[MyClass alloc]init] ;

方法 在Objective-C中創(chuàng)建方法的語法: -(returnType)methodName:(typeName) variable1 :(typeName)variable2; 例如: -(void)calculateAreaForRectangleWithLength:(CGfloat)length     andBreadth:(CGfloat)breadth; 你也許好奇andBreadth代表的是什么;它只是一個可變字符串,幫助我們更容易理解方法的作用。在同一類中調(diào)用這個方法: [self calculateAreaForRectangleWithLength:30 andBreadth:20]; 如上所述,使用andBreadth可以幫助我們理解andBreadth的值為20。self用來說明被調(diào)用的是一個類方法。

類方法 類方法可以直接調(diào)用,不需要先創(chuàng)建類的對象。它們沒有任何變量和與之相關聯(lián)的對象。例如: +(void)simpleClassMethod; 類方法的調(diào)用可以直接通過類名來調(diào)用,例如: [MyClass simpleClassMethod];

實例方法 實例方法僅在創(chuàng)建該類的對象之后才能被調(diào)用。實例變量會分配有內(nèi)存。如下面一個實例方法: -(void)simpleInstanceMethod; 創(chuàng)建類的對象之后,可以像下面例子一樣調(diào)用方法: MyClass  *objectName = [[MyClass alloc]init] ; [objectName simpleInstanceMethod];

Objective-C中的重要數(shù)據(jù)類型

輸出日志 NSLog可以用來在打印輸出信息,信息可輸出到設備日志和debug控制臺中,例如: NSlog(@"");

控制結構 Objective-C中的絕大多數(shù)控制結構和C語言、C++的一樣,除了個別語句,如for..in結構語句。

屬性 當外部類訪問該類的時候,需要用property關鍵字。例如: @property(nonatomic , strong) NSString *myString;

訪問屬性 你可以使用點操作符來訪問屬性。訪問上面的屬性,可以這樣做: self.myString = @"Test"; 你也可以使用set方法,如下: [self setMyString:@"Test"];

Categories Categories被用來為已存類添加方法。利用這種方法,可以為連implementation文件都沒有的類添加方法。一個簡單的category使用例子如下: @interface MyClass(customAdditions) - (void)sampleCategoryMethod; @end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod{    NSLog(@"Just a test category"); }

數(shù)組 NSMutableArray 和 NSArray 是objective-C中的數(shù)組類。正如其名,前面的NSMutableArray是可變數(shù)組,NSArray是不可變數(shù)組。簡單的數(shù)組例子如下: NSMutableArray *aMutableArray = [[NSMutableArray alloc]init]; [anArray addObject:@"firstobject"]; NSArray *aImmutableArray = [[NSArray alloc] initWithObjects:@"firstObject",nil];

Dictionary(字典) NSMutableDictionary 和 NSDictionary 是objective-C中的字典類,如其名所示, NSMutableDictionary是可變字典,NSDictionary是不可變的字典。簡單的字典例子如下: NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init]; [aMutableDictionary setObject:@"firstobject" forKey:@"aKey"]; NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:     [NSArray arrayWithObjects:@"firstObject",nil] forKeys:[ NSArray   arrayWithObjects:@"aKey"]];

原文來自:codecloud

您還未登錄,請先登錄

熱門帖子

最新帖子

?