學習日記 Foundation框架介紹

2021-07-03 14:24:00 字數 2550 閱讀 9914

foundation框架中有很多有用的、面向資料的簡單類和資料型別。是由許多類,方法,函式,文件按照一定的邏輯組織起來的幾何。資料型別主要如:nsstring,nsarray,nsnumber等,將近有100多個類,都可以在xcode的安裝文件中找到具體的使用方法。

那麼,接下來,我們就對幾個主要的型別的使用進行簡單的例項說明。

一、字串(nsstring型別)

格式字元%@可以顯示字串,陣列,字典和集合的全部內容。

1. 字串比較

1

nsstring *thing1 =@「hello 5」;2

nsstring *thing2 = [nsstring stringwithformat: @"

hello %d

",5];3if

([thing1 isequaltostring: thing2])

4

這裡,我們可以看到。用到了兩個字串的方法,stringwithformat:是格式化字串輸出。isequaltostring:是判斷兩個字串是否相同。

那麼,isequaltostring和直接用「==」來判斷是否相同,有啥區別呢?

用「==」運算子比較,只能判斷thing1和thing2的指標數值是否相同。而不能判斷是否指向同乙個物件。由於thing1和thing2是不同的字串,所有這邊用這個運算子比較的話,會被認為是不同的。

2. 字串的可變性

在oc中,nsstring型別是不可變的,即:一旦被建立,便不能變化。如果要對字串進行改變的話,則在cocoa中,提供了乙個nsstring的子類,叫nsmutablestring。

1

nsmutablestring *string = [nsmutablestring stringwithcapacity:50

];hello "];

nsstring %d

", 2];

定義用的關鍵字:stringwithcapacity。執行結果等於string被兩次賦值,最後結果是:「hello nsstring 2」。

二、集合型別(nsarray和nsdictionary)

集合型別,就相當於c語言中的陣列。nsarray是乙個cocoa類,用來儲存物件的有序列表。只能存oc物件,而不能存c語言的基本資料型別。同時,也不能直接存nil(物件的null值)。

1. 建立乙個nsarray的格式:

1

nsarray *array1 = [nsarray arraywithobjects: @"

one", @"

two", @"

three

", nil];

這裡,我們定義的集合有三個元素,最後面的nil並不是乙個元素,而是結束的標記符號。這也是為什麼集合型別不能存nil的原因。

只要是個集合,就有count獲取集合中元素的個數,index來獲取指定位置的元素。注意,獲取元素的index值不能大於集合總數count,否則會報錯!

for(nsinteger i=0; i< [array1 count]; i++)

2. 可變集合

和nsstring一樣,nsarray建立也是不可變物件,一旦建立就不能被修改。因此,集合型別也有子型別是可以變的:nsmutablearray。

和nsstring一樣,定義可變集合也有配套的關鍵字:arraywithcapacity。

1

nsmutablearray *array = [nsmutablearray arraywithcapacity: 5];2

for(nsinteger i=0; i<5; i++)

3

1 [array removeobject: 1]; //

元素索引從0開始。

3.nsdictionary型別

看名字,顧名思義是字典型別,是關鍵字及其定義的集合。

定義字典型別物件的格式:

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...