天天看點

黑馬程式員_Foundation架構—集合

foundation架構—集合

一、nsarray和nsmutablearray

(一)nsarray不可變數組

(1)nsarray的基本介紹

nsarray是oc中使用的數組,是面向對象的,以面向對象的形式操縱對象,是不可變數組。

c語言數組有一個缺點即數組中隻能存放同種資料類型的元素。

oc數組隻能存放oc對象,不能存放非oc對象,如int,結構體和枚舉等。

(2)nsarray的建立

黑馬程式員_Foundation架構—集合

(3)nsarray的通路

黑馬程式員_Foundation架構—集合

 (4)nsarray的周遊

數組的周遊有以下幾種方式:

首先建立一個數組

黑馬程式員_Foundation架構—集合

第一種方法:使用for循環周遊

黑馬程式員_Foundation架構—集合
黑馬程式員_Foundation架構—集合

block周遊的深入研究:

黑馬程式員_Foundation架構—集合

每拿到一個元素,就傳遞給obj,就會調用一次block,并且把目前的元素和索引位置當做參數傳遞給block。

注意1:break隻使用在兩種場合,即switch和循環結構中。

注意2:stop參數用來停止周遊,其值若為yes,則停止。

(二)nsmutablearray可變數組

(1)nsmutablearray的基本使用

注意:nsmutablearray繼承自nsarray,幾乎擁有nsarray的一切方法。

黑馬程式員_Foundation架構—集合

二、nsset和nsmutableset

(一)nsset不可變集合

基本使用:

黑馬程式員_Foundation架構—集合

(二)nsmutableset可變集合

黑馬程式員_Foundation架構—集合

(三)nsset和nsarray的對比

(1)共同點:

1)都是集合,都能夠存放多個對象

2)隻能存放oc對象,不能存放非oc對象類型(如int等基本資料類型和結構體,枚舉等)。

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

(2)不同點:

1)nsarray有順序,nsset沒有順序

三、nsdictionary和nsmutabledictionary

(一)nsdictionary不可變字典

(1)介紹

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

oc中的nsdictionary:根據key找到value。裡面存儲的東西都是鍵值對。

(2)nsdictionary的建立

黑馬程式員_Foundation架構—集合

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

(3)nsdictionary的通路

黑馬程式員_Foundation架構—集合

(4)nsdictionary的周遊

黑馬程式員_Foundation架構—集合

(二)nsmutabledictionary可變字典

(1)nsmutabledictionary的基本使用

黑馬程式員_Foundation架構—集合

(2)nsmutabledictionary的使用注意

黑馬程式員_Foundation架構—集合

注意:這種快速建立的方式隻适用于不可變字典。

繼續閱讀