Objective-c中Foundation中的幾個常用類1

來源:互聯網
上載者:User

 使用XCode的提示功能,只需要記住類的名字及常用的函數就好了,其他的函數可以根據提示來查看,按ESC鍵可以查看該類的函數        

 Foundtion架構 

         Cocoa程式的編寫主要要用到兩個架構,Foundation和ApplicationKit(UIKit),其中Foundation架構主要定義了一些基礎類,而ApplicationKit主要定義了一些用於Mac開發的幾面基礎類,而IOS的介面開發主要是用UIKit。Foundation架構中的所有類都繼承自NSObject,這就是所謂的上帝吧。Foundation主要提供了與圖形化使用者介面沒有直接關係的功能的一些類,比如:字串、數值、容器集合等等相關的類。

         1、有關數字對象的處理

            把數字封裝成數字對象

    int age = 24;    BOOL isMarry = NO;    float pi = 3.14f;    //使用類方法,其他的基礎資料型別 (Elementary Data Type)和如下兩種方式相同    NSNumber *myAge = [NSNumber numberWithInt:age];    NSNumber *aboutMarry = [NSNumber numberWithBool:isMarry];    //使用初始化方法    NSNumber *aboutPi = [[NSNumber alloc]initWithFloat:pi];

            把數字對象再轉換成基礎資料型別 (Elementary Data Type)

    age = [myAge intValue];    isMarry = [aboutMarry boolValue];    pi = [aboutPi floatValue];

         2、字串的常見應用

            由於oc是基於c的,為了區別起見,oc中的字串必須以@開頭,@後引號內的類容為字串本身內容

            NSString對象一旦建立就不能再修改,如果想建立一個可以修改的字串對象,則使用NSMutableString,這裡的NSS他ring好比java中的String類,而NSMutableString類好比java中StringBuffer

                //建立一個字串        //方法一        NSString *name = @"Jim Green";        //方法二        //建立一個Null 字元串        NSString *name1 = [[NSString alloc]init];//執行個體方法                //建立非Null 字元串        NSString *name3 = [[NSString alloc]initWithString:@"Jim Green"];                       //有關建立格式化符字串        NSString *myself = [[NSString alloc]initWithFormat:@"我是%@,今年%d歲,知道PI的值是%f",name3,age,pi];

有關字串的比較:

 //以下列印結果為相等       NSString *str1 = @"niao";        NSString *str2 = @"niao";                if (str1 == str2) {                        NSLog(@"相等");        }else            NSLog(@"不相等");                if ([str1 isEqualToString: str2]) {                        NSLog(@"相等");        }else            NSLog(@"不相等");               //此處的列印結果也相等(在常量區建立)        NSString *str3 = [[NSString alloc]initWithString:@"ge"];        NSString *str4 = [[NSString alloc]initWithString:@"ge"];                if (str3 == str4) {                        NSLog(@"相等");        }else            NSLog(@"不相等");                //此處列印也相等        if ([str3 isEqualToString: str4]) {                        NSLog(@"相等");        }else            NSLog(@"不相等");                //********************************************************分界線
        //在堆區建立        NSString *str5 = [NSString stringWithFormat:@"ni%d",5];        NSString *str6 = [NSString stringWithFormat:@"ni%d",5];                //此處列印不相等        if (str5 == str6) {         NSLog(@"5相等6");         }else             NSLog(@"5不相等6");         //此處列印也相等        if ([str5 isEqualToString: str6]) {            NSLog(@"5相等6");         }else            NSLog(@"5不相等6");

         分界線以上的無論是==還是isEqualToString都是相等,分界線以下的==列印不相等,isEqualToString列印的是相等,這裡用isEqualToString比較相等很容易理解,關於用等號比較

         那是因為用==比較的是對象指標的地址,而不是對象本身

         而分界線以上的對象都是在敞亮區建立的,所以用==比較是相等的

         而分解先以下的是在堆區建立的,所以用==比較是不相等的

         str5與str6是在堆區建立了兩個對象,所以對象的地址是不同的所以用==比較不同,而對象的內容是相同的,所以isEqualToString比較相同。

 比較字串的大小

NSString *str7 = @"a";        NSString *str8 = @"b";        NSString * str9 = @"A";                NSLog(@"比較結果為:%@",[str7 compare:str8]?@"YES":@"NO");//比較結果為:YES        //忽略大小寫        NSLog(@"忽略大小寫1,%ld",[str7 caseInsensitiveCompare:str8]);//忽略大小寫1,-1        NSLog(@"忽略大小寫2,%ld",[str9 caseInsensitiveCompare:str7]);//忽略大小寫2,0

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.