2)nsnull
nsnull大概是cocoa裡最簡單的類了,只有乙個方法
+ (nsnull *) null;
可以這樣新增到集合中
[contact setobject: [nsnull null]
forkey: @"home fax machine"];
訪問時:
id homefax;
homefax = [contact objectforkey: @"home fax machine"];
if (homefax == [nsnull null])
//[nsnull null]總是返回一樣份數值,所以你可以使用「==」講該值與其他值進行比較……
22、nsdictionary和nsmutabledictionary
a) nsdictionary
字典是關鍵字和其定義的集合,也被成為雜湊表或關聯陣列,使用的是鍵查詢的優化儲存方式
1)建立方法: 使用dictionarywithobjectsandkeys:來建立字典
+ (id) dictionarywithobjectsandkeys: (id) firstobject, ...;
使用方法:
tire *t1 = [tire new];
tire *t2 = [tire new];
tire *t3 = [tire new];
tire *t4 = [tire new];
nsdictionary *tires;
tires = [nsdictionary dictionarywithobjectsandkeys:
t1, @"front- left", t2, @"front- right",
t3, @"back- left", t4, @"back- right", nil];
2)常用方法
- (id) objectforkey: (id) akey;
使用方法:
tire *tire = [tires objectforkey: @"back- right"]; //如果沒有則會返回nil值
b) nsmutabledictionary
1)建立方法:
可以向類nsmutabledictionary傳送dictionary訊息
也可以使用函式+ (id) dictionarywithcapacity: (unsigned int) numitems;
2)常用方法
可以使用setobject:forkey:方法給字典新增元素:
- (void) setobject: (id) anobject forkey: (id) akey;
- (void) removeobjectforkey: (id) akey;
使用方法:
nsmutabledictionary *tires;
tires = [nsmutabledictionary dictionary];
[tires setobject: t1 forkey: @"front- left"];
[tires setobject: t2 forkey: @"front- right"];
[tires setobject: t3 forkey: @"back- left"];
[tires setobject: t4 forkey: @"back- right"];
//若已經存在,則會用新值替換原有的值
[tires removeobjectforkey: @"back- left"];
23、不要建立nsstring、nsarray或nsdictionary的子類,因為在cocoa中,許多類實際上是以類簇的方式實現的,即他們是一群隱藏在通用介面之下的與實現相關的類
24、foundation例項 //查詢檔案
a)使用列舉遍歷
int main (int argc, const char *ar**)
}nsenumerator *fileenum;
fileenum = [files objectenumerator];
while (filename = [fileenum nextobject])
[pool drain];
return (0);
} // main
b)使用快速遍歷
int main (int argc, const char * ar**)
}for (nsstring *filename in files)
簡單常用 NSDictionary
新增我們的測試 nsdictionary dictionary nsdictionary dictionarywithobjectsandkeys lucy name 15810463139 number nil 得到詞典的數量 nsinteger mcount dictionary count n...
NSDictionary實現原理
nsdictionary 字典 是使用 hash表來實現key和value之間的對映和儲存的,hash函式設計的好壞影響著資料的查詢訪問效率。資料在hash表中分布的越均勻,其訪問效率越高。而在objective c中,通常都是利用nsstring 來作為鍵值,其內部使用的hash函式也是通過使用 ...
NSDictionary 字典 集合NSSet
字典存在的價值 0.字典類是用於儲存具有對映關係 key value對 的資料,字典一旦建立,鍵值對就不可更改,不可新增,不可刪除.僅能讀取key 或者 value 1.大容器,用來儲存多個資料,2.用來儲存的資料具有 對應的關係.使用key 來標識 value 3.對於字典中的一對鍵值對 key ...