objective c 基本型別和物件型別解讀

2021-07-09 04:04:37 字數 1446 閱讀 6591

我將用最簡單的話來描述我所理解的oc資料型別。

1.基本型別(primitive type)

(1) 常用資料型別  int / float /long / boolen /nsinteger

(2)原生資料型別,直接存在棧上,不會有*。

2.物件型別(object type)

對應的是乙個物件,即object=data+method,這個物件既有屬性也有方法,所以無法直接賦值,所以前面的*必不可少。並且物件在使用時,必須初始化。

(1)nsstring 字串

最常用的屬性和方法:

(2)nsnumber 數字

(3)nsarray  陣列(有序的物件集合)與nsmutablearray

nsarray主要方法:

nsmutablearray主要方法:

遍歷陣列(物件容器)中物件:

nsarray *myarray=@[@"a",@"b",@"c"];

for (nsstring * string in myarray)  

for (id obj in myarray)

(4)nsdictonary 字典與nsmutabledictionary

nsdictionary方法:

nsmutabledictionary方法:

遍歷字典中的物件:

for(id key in mydictionary)   

3.物件型別和基本資料型別轉換

(1)基本轉物件

nsnumber *intnumber=[nsnumber numberwithint:100];

nsnumber類方法:+(nsnumber*)numberwithchar / int / float / bool:(char/ int / float / bool)value;

(2)   物件轉基本

int a = [intnumber intvalue];

int b=[nsstring integervalue];

總結:在ios開發中,離不開nsarray和nsdictionary.這個陣列不是傳統語言陣列,它只能儲存物件,不能儲存簡單資料型別。陣列也好字典也罷,它們都是乙個物件,而且也都可以儲存多個物件的容器。既然如此,在陣列中可以套字典,在字典中也可以套陣列。

舉個例子,乙個tableview是由多個cell組成的,為建立乙個高效的資料結構,用陣列最合適不過了。tableview的行,正好對應陣列的下表;而每乙個cell又是由多個物件組成(如縮圖、主標題、副標題等),將每個cell對應的資料存成乙個字典,是乙個不錯的資料儲存結構。這麼說來,資料套字典對tableview最合適不過了。

常用的plist檔案,就是乙個典型的字典資料結構。字典是key-object結構,而這裡的object又是以陣列方式存在的,這就是"字典套陣列"結構。

通俗的講,再複雜的資料結構,無非是"陣列中套著字典,字典中套著陣列".

基本型別和引用型別

基本型別和引用型別 ecmascript包含兩個不同型別的值 基本型別值和引用型別值。基本型別值指的是簡單的資料段 引用型別值指由多個值構成的物件。當我們把變數賦值給乙個變數時,解析器首先要做的就是確認這個值是基本型別值還是引用型別值。常見的五種基本資料型別是 undifined null bool...

變數和基本型別

算術型別 arithmetic type c 標準規定了每個算術型別的最小儲存空間,但允許編譯器使用更大的儲存空間。事實上,對於int型,幾乎現在所有的編譯器使用的儲存空間都比所要求的大 也表明,在編寫程式時不能對這些型別的大小做任何假設 c 算術型別最小儲存空間規定如下 注 要特別注意int型,並...

變數和基本型別

c 程式通常由許多檔案組成,為了讓多個檔案訪問相同的變數,c 區分了宣告和定義。變數的定義 definition 用於為變數分配儲存空間,還可以為變數指定初始值。在乙個程式中,變數有且僅有乙個定義。c 支援兩種初始化變數的形式 複製初始化 copy initialization 和直接初始化 dir...