iOS有哪些數(shù)據(jù)類型/基本數(shù)據(jù)類型?

簡述

本文主要探究使用OC作為iOS開發(fā)語言時,我們能使用哪些數(shù)據(jù)類型。



一切類型始于C。

C語言的類型

基本數(shù)據(jù)類型:

基本數(shù)據(jù)類型(fundamental data types)也叫原始數(shù)據(jù)類型(primitive data types)

整型、字符型、浮點型、枚舉型

C數(shù)據(jù)類型及內(nèi)存占用

枚舉型在計算機(jī)內(nèi)部以 int 類型存儲

除了基本數(shù)據(jù)類型,C還有

構(gòu)造類型:

數(shù)組類型, 結(jié)構(gòu)體類型(struct), 共用/聯(lián)合體類型(union)

union一般在對單片機(jī)等內(nèi)存比較小的設(shè)備進(jìn)行編程時才使用。

指針類型:

data_type *pointer_name

由于指針在實質(zhì)上是一個內(nèi)存地址,內(nèi)存地址的長度跟CPU的尋址有關(guān)(與data_type無關(guān))

所以在32位系統(tǒng)上, 指針占據(jù)4個字節(jié);在64位系統(tǒng)上,指針占據(jù)8個字節(jié)

空類型(void):

空類型一般用于函數(shù)的返回值,表示不需要返回任何類型。

由于void類型只是一個抽象概念,并不會存在于內(nèi)存中,自然就沒有字節(jié)占用。



有了類,世間萬物皆可定義。

OC語言類型

由于Objective-C是C語言的嚴(yán)格超集,因此以上的數(shù)據(jù)類型也是OC數(shù)據(jù)類型。

相比于C

OC是一門面向?qū)ο笳Z言,如同C++一樣支持用戶定義類型(class)。

用戶定義類型為Cocoa框架的誕生提供了可能。



類型越來越復(fù)雜,代碼越來越簡潔。

iOS數(shù)據(jù)類型

一般而言,我們所說的數(shù)據(jù)類型/基本數(shù)據(jù)類型都是指一門語言的。

iOS數(shù)據(jù)類型?=?C數(shù)據(jù)類型 + Cocoa類

iOS數(shù)據(jù)類型不是一種嚴(yán)謹(jǐn)?shù)慕蟹ǎ瑢嶋H上指的是C數(shù)據(jù)類型加上Cocoa框架集合(Foundation、UIKit等)中定義的的數(shù)據(jù)類型,也即Cocoa類(泛指所有基于Objective-C運行時且派生自根類NSObject的類)。

Foundation框架中定義的NSObject類是iOS中最重要的數(shù)據(jù)類型,用戶定義的類都需要繼承自它從而獲得調(diào)用iOS系統(tǒng)資源的能力。Foundation中還有一個重要的集合Collection)概念,其包含了NSArray、NSSet、NSDictionarry以及各自的可變類型;此外,還有NSString、NSMutabString、NSNumber等重要的類型。以上提及的類型均繼承自NSObject,是用戶定義類型(class)而并非構(gòu)造類型(struct),它們在被賦值或者被傳入函數(shù)或者方法時,不會發(fā)生值拷貝,而是傳遞現(xiàn)有實例的引用。

總結(jié)


iOS數(shù)據(jù)類型

注:由于在iOS中BOOL實際上是signed char類型的重命名,NSInteger等也大同小異,因而并沒有將它們歸為新的類型。

參考

C/基本數(shù)據(jù)類型

C 語言中不同類型指針的大小是否完全相同,為什么?

iOS布爾類型

內(nèi)存:棧和堆(C / Swift)

NSObject、NSNumber

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,621評論 1 32
  • 1.設(shè)計模式是什么? 你知道哪些設(shè)計模式,并簡要敘述?設(shè)計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型...
    龍飝閱讀 2,294評論 0 12
  • 難以難舍想抱緊些,茫茫人生好像荒野。 我是媽媽自行車的菜籃里搖著長大的,可能搖著搖著,導(dǎo)致我生性好動,和父母之間...
    邊箐云茶閱讀 227評論 0 0
  • 貌似融入了啊,很開心,不過還是要好好努力的 有緣時分看到書,很感動,讓我看到更廣闊的世界 看文章就是刷新認(rèn)知的,但...
    良辰美LiangChen閱讀 106評論 0 0
  • 轉(zhuǎn)載至: 兒童心理課堂,伴你探索解讀兒童心理,閱讀、看見 ...
    陽光爸媽閱讀 263評論 0 0

友情鏈接更多精彩內(nèi)容