foundation架構—集合
一、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的使用注意
注意:這種快速建立的方式隻适用于不可變字典。