IOS學習之Foundation框架 集合

2021-07-04 16:24:25 字數 2431 閱讀 8473

一、nsarray和

nsmutablearray

(一)nsarray不可變陣列

(1)nsarray的基本介紹

nsarray是

oc中使用的陣列,是物件導向的,以物件導向的形式操縱物件,是不可變陣列。

c語言陣列有乙個缺點即陣列中只能存放同種資料型別的元素。

oc陣列只能存放

oc物件,不能存放非

oc物件,如

int,結構體和列舉等。

(2)nsarray的建立

(3)nsarray的訪問

(4)nsarray的遍歷

陣列的遍歷有以下幾種方式:

首先建立乙個陣列

第一種方法:使用for

迴圈遍歷

block遍歷的深入研究:

每拿到乙個元素,就傳遞給obj

,就會呼叫一次

block

,並且把當前的元素和索引位置當做引數傳遞給

block

。注意1

:break只使用在兩種場合,即

switch

和迴圈結構中。

注意2:stop引數用來停止遍歷,其值若為

yes,則停止。

(二)nsmutablearray可變陣列

(1)nsmutablearray的基本使用

注意:nsmutablearray繼承自

nsarray

,幾乎擁有

nsarray

的一切方法。

二、nsset和

nsmutableset

(一)nsset不可變集合

基本使用:

(二)nsmutableset可變集合

基本使用:

(三)nsset和

nsarray

的對比(1)共同點:

1)都是集合,都能夠存放多個物件

2)只能存放oc

物件,不能存放非

oc物件型別(如

int等基本資料型別和結構體,列舉等)。

3)本身都不可變,都有乙個可變的子類。

(2)不同點: 1)

nsarray

有順序,

nsset

沒有順序

三、nsdictionary和

nsmutabledictionary

(一)nsdictionary不可變字典

(1)介紹

現實中的字典:根據索引找到具體的內容

oc中的

nsdictionary

:根據key

找到value

。裡面儲存的東西都是鍵值對。

(2)nsdictionary的建立

注意:快速建立字典是編譯器特性。

(3)nsdictionary的訪問

(4)nsdictionary的遍歷

(二)nsmutabledictionary可變字典

(1)nsmutabledictionary的基本使用

(2)nsmutabledictionary的使用注意

注意:這種快速建立的方式只適用於不可變字典。

ios中foundatio的理解

1 kvo 內部實現原理 a kvo 是基於runtime 機制實現的 b 當某個類的物件第一次被觀察時 系統就會在執行期動態的建立該類的乙個派生類 當這個派生類中重寫基類中任何被觀察的setterf setter方法 實現真正的通知機制 person nskvonotifying person 2...

IOS學習之collectionView的使用

1 首次建立初始化時候肯定會遇到以下錯誤 uicollectionview must be initialized with a non nil layout parameter 解決辦法 使用乙個非空的layout初始化集合檢視,具體 源 wbsearchcontroller search wbs...

iOS學習之UIPickerView控制項的簡單使用

uipickerview控制項在給使用者選擇某些特定的資料時經常使用到,這裡演示乙個簡單的選擇資料,顯示在uitextfield輸入框裡,把uipickerview作為輸入view,用 作為選定資料的按鈕。和其他uitableview控制項相似,uipickerview也需要資料來源。我們要實現的效...