iOS - Objective C



iOS 開發中使用的語言是 Objective C。它是一種面向物件的語言,因此對於那些具有一定面向物件程式語言背景的人來說,它很容易學習。

介面和實現

在 Objective C 中,宣告類的檔案稱為介面檔案,定義類的檔案稱為實現檔案

一個簡單的介面檔案MyClass.h如下所示:

@interface MyClass:NSObject { 
   // class variable declared here
}

// class properties declared here
// class methods and instance methods declared here
@end

實現檔案MyClass.m如下所示:

@implementation MyClass
   // class methods defined here
@end

物件建立

物件建立如下所示:

MyClass  *objectName = [[MyClass alloc]init] ;

方法

在 Objective C 中,方法的宣告如下所示:

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

下面顯示了一個示例。

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

您可能想知道andBreadth字串是做什麼用的;實際上,它是一個可選字串,可以幫助我們輕鬆地閱讀和理解方法,尤其是在呼叫時。要在同一個類中呼叫此方法,我們使用以下語句:

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

如上所述,使用 andBreadth 可以幫助我們理解寬度為 20。Self 用於指定它是一個類方法。

類方法

類方法可以直接訪問,無需為類建立物件。它們沒有任何與之關聯的變數和物件。下面顯示了一個示例。

+(void)simpleClassMethod;

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

[MyClass simpleClassMethod];

例項方法

例項方法只有在為類建立物件後才能訪問。記憶體分配給例項變數。下面顯示了一個示例例項方法。

-(void)simpleInstanceMethod; 

建立類物件後,可以訪問它,如下所示:

MyClass  *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];

Objective C 中的重要資料型別

序號 資料型別
1

NSString

用於表示字串。

2

CGfloat

用於表示浮點值(也允許使用普通浮點數,但最好使用 CGfloat)。

3

NSInteger

用於表示整數。

4

BOOL

用於表示布林值(YES 或 NO 是允許的 BOOL 型別)。

列印日誌

NSLog - 用於列印語句。它將分別在釋出和除錯模式下列印在裝置日誌和除錯控制檯中。例如,

NSlog(@"");

控制結構

大多數控制結構與 C 和 C++ 中的相同,除了像 for in 語句這樣的少量新增內容。

屬性

為了讓外部類訪問類,使用了類變數屬性。例如,

@property(nonatomic , strong) NSString *myString;

訪問屬性

您可以使用點運算子來訪問屬性。要訪問上述屬性,我們將執行以下操作。

self.myString = @"Test";

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

[self setMyString:@"Test"];

類別

類別用於向現有類新增方法。透過這種方式,我們可以向我們甚至沒有實現檔案的類新增方法,這些檔案定義了實際的類。我們類的示例類別如下所示:

@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

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

陣列

NSMutableArray 和 NSArray 是 Objective C 中使用的陣列類。顧名思義,前者是可變的,後者是不可變的。下面顯示了一個示例。

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

字典

NSMutableDictionary 和 NSDictionary 是 Objective C 中使用的字典類。顧名思義,前者是可變的,後者是不可變的。下面顯示了一個示例。

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

© . All rights reserved.