Objective-C - Foundation框架初探

Objective-C - Foundation框架初探

Foundation之於Objective-C就比如Java中SDK類庫之於Java。 ios

這個框架提供了基本的Objective-C的類,最重要的根類,NSObject,它定義了基本的對象行爲。 設計模式

框架包括了各類基本數據類型、集合,操做系統服務的對象的類。Foundation一樣包含了幾種設計模式 app

和機制,以遍設計出更健壯和高效的Objective-C程序。 框架

一:基本的Protocols (相似於Java中的接口。明顯的區別是,Protocols中容許可選實現方法。 iphone

   我下面寫的「採納」相似於Java中的實現。 工具

   (1)NSObject ,值得注意的是它的名字跟NSObject類同名。 測試

     採納了這個協議的類,就能夠被查詢它們的類和父類,能夠跟其餘對象比較。 ui

   (2)NSCoding,採納了這個協議的類能夠被編碼和解碼。 編碼

   (3)NSCoping,這個協議只定義了一個方法,copyWithZone:,若是一個類支持對象拷貝那麼就須要採納這個協議。 spa


二:基本的類

   (1)NSObject ,NSObject類是Objective-C類繼承體系中的根類。

NSObject類採納了NSObject協議。

  (2)NSNumber ,它是用於處理基本數據類型的工具類,是NSValue的子類。

  它爲標量提供了面向對象的封裝和指針。值得注意的事,從NSNumber中取出的值

應該與存儲的值保持一致。NSNumber會嘗試將存儲的值動態轉換爲所須要的值。

  (3) NSString ,對應與Java中的String類。保存的事Unicode字符。

 跟Java中的同樣,NSString實例是不可變得。若是須要修改字符串,

你能夠先建立一個NSMutableString(相似Java中的StirngBuilder)而後進行修改。

   關於NSString的其餘操做,我會放到其餘的文章中。

  (4)NSArray和NSSet,NSMutableArray,

    基本對應於Java中的(Array,Set,List)

 (5)NSDictionary和NSMutableDictionary。

 NSMutableDictionary相似於Java中的Map。NSDictionary則是不可變得Map。

  測試實例以下:

01 void testNSDictionary(){
02     NSDictionary *dicts = @{@"name" : @"banxi1988",@"age":@47};
03     NSLog(@"myInfo:%@",dicts);
04     NSMutableDictionary* mutableDicts = [NSMutableDictionary dictionaryWithDictionary:dicts];
05     [mutableDicts setObject:@24 forKey:@"age"];
06      NSLog(@"myInfo:%@",mutableDicts);
07     [mutableDicts setObject:@"Haizhen.Li" forKeyedSubscript:@"age"];
08          NSLog(@"myInfo:%@",mutableDicts);
09     /*
10      2013-01-12 20:33:41.923 Demo[3529:303] myInfo:{
11      age = 47;
12      name = banxi1988;
13      }
14      2013-01-12 20:33:41.927 Demo[3529:303] myInfo:{
15      age = 24;
16      name = banxi1988;
17      }
18      2013-01-12 20:33:41.928 Demo[3529:303] myInfo:{
19      age = "Haizhen.Li";
20      name = banxi1988;
21      }
22      */



1.參考:

(1)https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=Foundation

(2)http://mobile.tutsplus.com/tutorials/iphone/exploring-the-foundation-framework/

相關文章
相關標籤/搜索