數字、字符串和集合

數字、字符串和集合

        Foundation框架提供了一些基本對象。這些基本對象包括數字、字符串和集合,集合指的是能夠以數組、字典和集的形式使用成組對象的能力。

       使用預編譯命令導入Foundation會顯著地增加程序的編譯時間。然而,通過使用預編譯的頭文件是經過編譯器預先處理過的文件。默認情況下,所有項目都會受益於預編譯的頭文件。

一、數字對象

1、概念:可根據基本數據類型來創建的對象。

2、創建方式:使用NSNumber類來創建

如:NSNumber *intNumber;

intNumber=[NSNumber numberWithInterger:100];

3NSNumber的創建方法和檢索方法

1>、對於每個基本值,類方法都爲它分配了一個NSNumber對象,並將其設置爲指定的值。這些方法以numberWith開頭,之後是類型。此外,可以使用實例方法爲以前分配的NSNumber對象設置指定的值。這些都是initWith開頭。

2>、檢索方式,如:

NSLog(@”%li”,[intNumber integerValue];

3>isEqualToNumber: 方法根據數值比較兩個NSNumber對象。

4>compare: 方法

a、可用compare: 方法來測試一個數值型的值是否在數值上小於、等於或大於另一個 值。

b、消息表達式:[intNumber compare:myNumber]

c、結果:當intNumber中的值小於myNumber中的值時,返回值NSOrderedAscending; 如果兩個數相等,則返回值NSOrderedSame;如果大於,則返回值NSOrderedDescending

 (更多方法請參見《數字、字符和集合方法歸納》)

4、注意事項

1>、從NSNumber對象獲得的值必須和存儲在其中的值類型一致。

2>、如果在NSNumber對象中存儲了一個值,那麼也要用一致的方式進行檢索。

3>、不能重新初始化前面創建的NSNumber的值。

二、字符串對象

1、字符串對象

1>、介紹:Foundation框支持一個名爲NSString的類,它可以用於處理字對象,NSString是由unichar字符組成。

2>、創建方式字符串:在字符串開關放置一個@字符

如:@”Programming is fun”

3>、創建字符串對象要求:需要添加 #import<Foundation/NSString.h>

4>、定義方式,如:NSString *str=@”Programming is fun”;

2NSLog函數

1>NSLog函數是用於輸出的函數。

2>NSLog格式字符%@不僅能顯示NSString對象,而且可以顯示其它對象。

3>NSLog調用,如:NSLog(@”%@”,str);

4>NSLog格式式字符%@可以顯示數組、字典和集合的全部內容。還可以通過重載類繼承的方法,顯示你自己的對象。

3、可變對象與不可變對象

1>、不可變對象:創建字符串對象時,就創建了一個內容不可更改的對象。

2>Lenght方法: 可用來對字符串中的字符進行計數。

3>isEqualToString: 方法用檢測兩個字符串是否相等。

4>uppercaseString: 方法將字符串轉換成大寫字符。

5>lowercaseString: 方法將字符串轉換成小寫字符。

6>substringFormIndex: 方法返回一個字符串,它從接收者的指定索引的字符開始,直到字符串結尾。

7>substringWithRange: 方法接受一個範圍,並返回指定範圍的字符。

8>rangeOfString: 方法在接收者中找到指定的字符串,則返回的範圍精確地指定找到它的位置。如果沒有找到這個字符串,則返回範圍的location成員被設爲NSNotFound

如:subRange=[str rangeOfString:@”is fun”];

4、可變字符串

1>、介紹:NSMutableString類可以用來創建可以更改字符的字符串對象。因爲該類是NSString類的子類,所以可以使用NSString類的所有方法。

2>、聲明方式,如:NSMutableString *mstr;

3>、將mstr變量定義爲一個變量,如:

Mstr=[NSMutableString stringWithString:str];

4>insertSring:atIndex: 方法將指定的字符串插入接收者中,插入點從指定的索引開始。

5>appendString: 方法將一個字符串插入另一字符串結尾。

6>deleteCharactersInRange: 方法可以刪除字符串中指定數目的字符。 

7>setString: 方法可用來直接設置可變字符串的內容。   

8>replaceCharactersInRange: 方法用另一個字符串替換這個字符串中的部分字符。

9>replaceOccurrencesOfString:WithString:options:range: 方法用來執行搜索並全部替換。

(更多方法請參見《數字、字符和集合方法歸納》) 

5、所有對象去哪了

1>、所有由NSStringNSMutableString方法生成並返回的字符串對象,被創建者添加到自動釋放池,將在系統釋放池時全部釋放。如果開發的程序創建了許多臨時對象,則內存會累積起來,這時要採取不同的策略,在程序執行時釋放內存,而不是在程序結尾釋放。

2>NSURL對象:url是一個NSURL對象,path是指明文件路徑的NSSring對象。

三、數組對象

1、介紹:Foundation數組是有序的對象集合。一個數組中的元素都是一個特定類型,但是這是是必需的。數組對象分爲可變數組對象和不可變數組對象:不可變數組是由NSArray類處理的,而可變數組是由NSMutableArray處理。後者是前者的子類。

2、使用要求:必須包含#import<Foundation/NSArray.h>

3arrayWithObject: 方法用來創建使用一列對象作爲元素的數組。

4objectAtIndex: 方法用於提取數組對象中指定元素。

5arrayWithCapactity: 方法分配NSMutableArray的素數。

6addObject: 方法向數組的末尾添加一個對象。

(更多方法請參見《數字、字符和集合方法歸納》) 

四、詞典對象

1、概念:dictionary是由鍵-對象對組成的數據集合。

2、簡介:詞典可以是固定的,也可以是可變的。可變詞典中記錄可動態的添加和刪除。可基於特定的鍵對詞典搜索,也可以枚舉它們的內容。

3、使用要求:需要添加 #import<Foundation/NSDictionary.h>

4、可變詞典

1>、聲明方式,如:NSMutableDictionary *glossary;

2>setObject:forKey: 方法將鍵-值添加到詞典中。

3>objectForKey: 方法檢索給定鍵的值。

5、枚舉詞典

1>、概念:鍵從詞典中依次被檢索,沒有特定順序。

2>、檢索方式,如:

for(NSString *key in glossary)

NSLog(@”%@%@”,key,[glossary objectForKey:key]);

注:詞典中的鍵是單值的,儘管它們通常是字符串,但不可以是任何類型。

(更多方法請參見《數字、字符和集合方法歸納》) 

五、集合對象

1、概念:以數組、字典和集的形式使用成組的對象,set是一組單值對象集合,它可以是可變的,也可以是不可變的。

2、可執行操作:搜索、添加、刪除集合中的成員(公用於可變集合),比較兩個集合,計算兩個集合的交集與並集等。

3、使用要求:需要添加 #import<Foundation/NSSet.h>

4、基本方法

1>setWithObject: 使用一列對象創建新集合。

2>isEqualToSet: 確定兩個集合是否相等。

3>addObject: 添加對象到集合中。

4>removeObject: 從集合中刪除對象。

5>interset: 用於計算兩個集合的交集。

6>union: 用於計算兩個集合的並集。

(更多方法請參見《數字、字符和集合方法歸納》)     

發佈了27 篇原創文章 · 獲贊 69 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章