iOS開發中使用的語言是objective C.它是一種物件導向的語言,因此有物件導向語言程式設計的一些背景會很容易理解。
在Objective-C類的宣告檔案被稱為介面檔案和檔案定義類被稱為實現檔案。
類似於下面的一個簡單的介面檔案MyClass.h
@interace 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有助於我們理解,breath 是20。self 用於指定它是一個類方法。
類方法可以直接存取,而無需建立類的物件。他們沒有任何與它相關聯的變數和物件。例子如下所示。
+(void)simpleClassMethod;
它可以存取使用類名(我們假設MyClass作為類名)如下。
[MyClass simpleClassMethod];
範例方法可以存取後,才建立的類的物件。範例變數分配記憶體。的一個例子的範例方法如下所示。
-(void)simpleInstanceMethod;
它可以存取如下的類建立物件後,
MyClass *objectName = [[MyClass alloc]init] ; [objectName simpleInstanceMethod];
S.N. | 資料型別 |
---|---|
1 |
NSString It is used for representing a string |
2 |
CGfloat It is used for representing a floating yiibai value (normal float is also allowed but it's better to use CGfloat) |
3 |
NSInteger It is used for representing integer |
4 |
BOOL used for representing Boolean(YES or NO are BOOL types allowed ) |
NSLog - 使用列印一份宣告。這將是列印的裝置的紀錄檔和偵錯控制台釋放和偵錯模式。
Eg: NSlog(@"");
大多數的控制結構中的相同,C和C ++除了在宣告中新增了一些像。
使用一個外部類存取類變數屬性
Eg: @property(nonatomic , strong) NSString *myString;
可以使用點運算子來存取屬性。存取上述物業,我們將做到以下幾點。
self.myString = @"Test";
也可以使用設定方法如下。
[self setMyString:@"Test"];
類別將方法新增到現有的類。通過這種方式,我們可以新增類的方法,而我們甚至沒有實施實際的類定義檔案。我們的類是一個樣本類別如下。
@interace 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"]];