[轉] Objective-C 簡介

來源:互聯網
上載者:User

標籤:

在iOS的開發中使用的是Objective C語言,它是一種物件導向的語言

介面和實現

在Objective裡完成的檔案被稱為介面檔案,該類檔案的定義被稱為實現檔案。

一個簡單的介面檔案MyClass.h將:

1 @interace MyClass:NSObject{ 2 // 類變數聲明3 }4 // 類屬性聲明5 // 類方法和聲明6 @end

執行MyClass.m檔案,如下所示

1 @implementation MyClass2 // 類方法定義3 @end
建立對象

完成建立對象,如下所示

 MyClass  *objectName = [[MyClass alloc]init] ;
方法(methods)

Objective C中聲明的方法如下所示:

-(returnType)methodName:(typeName) variable1 :(typeName)variable2;

下面顯示了一個樣本:

-(void)calculateAreaForRectangleWithLength:(CGfloat)length andBreadth:(CGfloat)breadth;

你可能會想什麼是andBreadth字串,其實它的可選字串可以協助我們閱讀和理解方法,尤其是當方法被調用的時候。

在同一類中調用此方法,我們使用下面的語句。

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

正如上文所說的andBreath使用有助於我們理解breath是20。Self用來指定它是一個類的方法。

類方法(class methods)

直接而無需建立的對象,可以訪問類方法。他們沒有任何變數和它關聯的對象。樣本如下:

+(void)simpleClassMethod;

它可以通過使用類名(假設作為MyClass類名稱)訪問,如下所示:

[MyClass simpleClassMethod];

執行個體方法

可以建立的類的對象後只訪問執行個體方法,記憶體配置到的執行個體變數。執行個體方法如下所示:

-(void)simpleInstanceMethod; 

建立類的對象後,它可以訪問它。如下所示:

MyClass  *objectName = [[MyClass alloc]init] ;[objectName simpleInstanceMethod];
Objective C的重要資料類型
序號 資料類型
1 NSString字串
2 CGfloat 浮點值的基本類型
3 NSInteger 整型
4 BOOL 布爾型

 

列印日誌

NSLog用於列印一份聲明,它將列印在裝置日誌和調試版本的控制台和分別偵錯模式上。

如 

NSlog(@"");
控制結構

除了幾個增補的條款外,大多數的控制結構與C以及C++相同

屬性(properties)

用於訪問類的外部類的變數屬性

比如:@property(非原子、強)NSString*myString

訪問屬性

可以使用點運算子訪問屬性,若要訪問上一屬性可以執行以下操作

self.myString = @"Test";

還可以使用set的方法,如下所示:

[self setMyString:@"Test"];

類別(categories)

類用於將方法添加到現有類。通過這種方法可以將方法添加到類,甚至不用執行檔案,就可以在其中定義實際的類。MyClass的樣本類別,如下所示:

@interace MyClass(customAdditions)- (void)sampleCategoryMethod;@end@implementation MyClass(categoryAdditions)-(void)sampleCategoryMethod{   NSLog(@"Just a test category");}
數組(arrays)

NSMutable和NSArray 是ObjectiveC中使用的數組類,前者是可變數組,後者是不可變數組。如下:

NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];[anArray addObject:@"firstobject"];NSArray *aImmutableArray = [[NSArray alloc]initWithObjects:@"firstObject",nil];
詞典

NSMutableDictionary和NSDictionary是Objective中使用的字典,前者可變詞典,後者不可變詞典,如下所示:

NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init];[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];

 

[轉] Objective-C 簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.