日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS有哪些数据类型/基本数据类型?

發布時間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS有哪些数据类型/基本数据类型? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡述

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

?


一切類型始于C。

C語言的類型

基本數據類型:

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

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

C數據類型及內存占用

枚舉型在計算機內部以 int 類型存儲

除了基本數據類型,C還有

構造類型:

數組類型, 結構體類型(struct), 共用/聯合體類型(union)

union一般在對單片機等內存比較小的設備進行編程時才使用。

指針類型:

data_type *pointer_name

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

所以在32位系統上, 指針占據4個字節;在64位系統上,指針占據8個字節

空類型(void):

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

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

?


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

OC語言類型

由于Objective-C是C語言的嚴格超集,因此以上的數據類型也是OC數據類型。

相比于C

OC是一門面向對象語言,如同C++一樣支持用戶定義類型(class)

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

?


類型越來越復雜,代碼越來越簡潔。

iOS數據類型

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

iOS數據類型?=?C數據類型 + Cocoa類

iOS數據類型不是一種嚴謹的叫法,實際上指的是C數據類型加上Cocoa框架集合(Foundation、UIKit等)中定義的的數據類型,也即Cocoa類(泛指所有基于Objective-C運行時且派生自根類NSObject的類)。

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

總結

?

iOS數據類型

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

參考

C/基本數據類型

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

iOS布爾類型

內存:棧和堆(C / Swift)

NSObject、NSNumber

轉載于:https://www.cnblogs.com/Free-Thinker/p/11101145.html

總結

以上是生活随笔為你收集整理的iOS有哪些数据类型/基本数据类型?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。