iOS開發之OC語法基礎(七) 集合

2021-06-27 13:40:07 字數 1652 閱讀 4126

collection(集合)能容納多個事物的容器就是集合

在ios中的集合容器有陣列、字典、集合

1、陣列

nsarray,不可變陣列,可以存放多個物件,例項化的時候以nil表示結束,通過下標索引物件

nsarray無法新增、刪除、修改元素

#import int main(int argc, const char * argv)

nsmutablearray可變陣列,是nsarray的子類,相比nsarray增加了新增、刪除、修改功能

#import int main(int argc, const char * argv)
2、字典

nsdictionary,不可變字典,存放多個鍵值對(key-value),最後以nil結束,字典中的物件儲存沒有順序,使用key來索引每個物件

nsdictionary不可新增、刪除、修改元素

#import int main(int argc, const char * argv)

nsmutabledictionary可變字典,是nsdictionary的子類,相比nsdictionary增加了新增、刪除、修改方法

#import int main(int argc, const char * argv)
3、集合

nsset,不可變集合,可以存放多個物件,以nil表示結束,物件在set中儲存是無序的

不可以新增、刪除、修改元素

#import int main(int argc, const char * argv)
nsmutableset,可變集合,是nsset的子類,相比nsset增加了新增、刪除、修改的方法

#import int main(int argc, const char * argv)

for…in語法,oc2.0的新語法。

簡化了傳統的for迴圈

#import int main(int argc, const char * argv) 

for (nsstring *item in mutable)

return 0;

}

collection會對自己內部的元素負責。

元素新增到collection的時候,元素會自動retain,當元素remove的時候,元素會自動release。

collection釋放的時候,會先讓內部元素relesae,然後自己再release。

官方很多類都分可變和不可變,無論類名是什麼,可變類通常比不可變類多了增刪改等功能。

陣列以下標來索引資料

字典以key來索引資料

集合是無序的,隨機取資料

字串比較特殊:除了系統給了nsstring和nsmutablestring,還有乙個常量字串(無此類)

常量字串的引用計數不能作為衡量記憶體的標準,%d列印會是-1,%u列印會是正的最大值

collection自身會管理記憶體,元素新增(含初始化)到collection,collection會呼叫物件的retain方法,當collection銷毀或者元素移除的時候,會呼叫物件的release方法。

iOS開發之OC語法基礎(二) 繼承和例項化

1 掌握物件導向程式設計特性 繼承 2 掌握oc中的自定義初始化方法 3 掌握oc中的便利構造器的寫法 1 oc中,乙個類可以繼承另外乙個類 2 被繼承的類稱為父類 super class 或超類 3 繼承的類稱為子類 subclass 4 子類可以直接使用父類的部分特徵和行為 注意 oc中只允許每...

Python 語法基礎(2) 集合型別及操作

集合 同數學概念 多個元素的無序組合 用 表示,元素間用逗號分隔 元素型別不必相同 每個元素唯一,不存在相同元素 元素不可更改,不能是可變資料型別 建立集合型別 或 set 空集合型別只能使用set 集合操作符 s t 返回乙個新集合,包括在集合s和t中的所有元素 s t 返回乙個新集合,包括在集合...

ios開發之OC基礎 類和物件

本系列的文章主要來自於個人在學習前鋒教育 歐陽堅老師的ios開發教程之oc語言 一定要明確乙個要從事的方向,要不然就會感到迷茫。學習ios開發,並且從事ios開發這個行業,這就是我的選擇。看到我的部落格系列文章,其中大多是關於c qt linux網路程式設計 opengl unity3d等方面。從表...