foundation框架中有很多有用的、面向資料的簡單類和資料型別。是由許多類,方法,函式,文件按照一定的邏輯組織起來的幾何。資料型別主要如:nsstring,nsarray,nsnumber等,將近有100多個類,都可以在xcode的安裝文件中找到具體的使用方法。
那麼,接下來,我們就對幾個主要的型別的使用進行簡單的例項說明。
一、字串(nsstring型別)
格式字元%@可以顯示字串,陣列,字典和集合的全部內容。
1. 字串比較
1這裡,我們可以看到。用到了兩個字串的方法,stringwithformat:是格式化字串輸出。isequaltostring:是判斷兩個字串是否相同。nsstring *thing1 =@「hello 5」;2
nsstring *thing2 = [nsstring stringwithformat: @"
hello %d
",5];3if
([thing1 isequaltostring: thing2])
4
那麼,isequaltostring和直接用「==」來判斷是否相同,有啥區別呢?
用「==」運算子比較,只能判斷thing1和thing2的指標數值是否相同。而不能判斷是否指向同乙個物件。由於thing1和thing2是不同的字串,所有這邊用這個運算子比較的話,會被認為是不同的。
2. 字串的可變性
在oc中,nsstring型別是不可變的,即:一旦被建立,便不能變化。如果要對字串進行改變的話,則在cocoa中,提供了乙個nsstring的子類,叫nsmutablestring。
1定義用的關鍵字:stringwithcapacity。執行結果等於string被兩次賦值,最後結果是:「hello nsstring 2」。nsmutablestring *string = [nsmutablestring stringwithcapacity:50
];hello "];
nsstring %d
", 2];
二、集合型別(nsarray和nsdictionary)
集合型別,就相當於c語言中的陣列。nsarray是乙個cocoa類,用來儲存物件的有序列表。只能存oc物件,而不能存c語言的基本資料型別。同時,也不能直接存nil(物件的null值)。
1. 建立乙個nsarray的格式:
1這裡,我們定義的集合有三個元素,最後面的nil並不是乙個元素,而是結束的標記符號。這也是為什麼集合型別不能存nil的原因。nsarray *array1 = [nsarray arraywithobjects: @"
one", @"
two", @"
three
", nil];
只要是個集合,就有count獲取集合中元素的個數,index來獲取指定位置的元素。注意,獲取元素的index值不能大於集合總數count,否則會報錯!
for(nsinteger i=0; i< [array1 count]; i++)2. 可變集合
和nsstring一樣,nsarray建立也是不可變物件,一旦建立就不能被修改。因此,集合型別也有子型別是可以變的:nsmutablearray。
和nsstring一樣,定義可變集合也有配套的關鍵字:arraywithcapacity。
1nsmutablearray *array = [nsmutablearray arraywithcapacity: 5];2
for(nsinteger i=0; i<5; i++)
3
1 [array removeobject: 1]; //3.nsdictionary型別元素索引從0開始。
看名字,顧名思義是字典型別,是關鍵字及其定義的集合。
定義字典型別物件的格式:
1字典型別還有一種建立方法:nsdictionary *tires = [nsdictionary dictionarywithobjectsandkeys: t1, @"
tire1
", t2, @"
tire2
", t3, @"
tire3
", nil]; //
也是用nil表示結束
1如果要刪除字典中的元素,可以用:nsmutabledictionary *tires =[nsmutabledictionary dictionary];
2 [tires setobject:t1 forkey:@"
tire1"];
3 [tires setobject:t2 forkey:@"
tire2"];
4 [tires setobject:t3 forkey:@"
tire3
"];
1 [tires removeobjectforkey: @"tire1
"];
(一)概述 Swift與Foundation框架
我們一直在建立檔案,每次都會選中cocoa class,所以你會問what is the cocoa?cocoa不是一種程式語言 它可以執行多種程式語言 它也不是乙個開發工具 通過命令列我們仍然可以開發cocoa程式 它是建立mac os x和ios程式的原生物件導向api,為這兩者應用提供了程式設...
李洪強iOS開發之Foundation框架 結構體
foundation框架 結構體 一 基本知識 foundation 基礎框架。框架中包含了很多開發中常用的資料型別,如結構體,列舉,類等,是其他ios框架的基礎。如果要想使用foundation框架中的資料型別,那麼包含它的主標頭檔案就可以了。即 import 補充 core foundation...
IOS學習之Foundation框架 集合
一 nsarray和 nsmutablearray 一 nsarray不可變陣列 1 nsarray的基本介紹 nsarray是 oc中使用的陣列,是物件導向的,以物件導向的形式操縱物件,是不可變陣列。c語言陣列有乙個缺點即陣列中只能存放同種資料型別的元素。oc陣列只能存放 oc物件,不能存放非 o...