• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

用于收集CoCoa对象的集合即有关Objective-C数组的操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Foundation Framework框架中用于收集CoCoa对象的三种集合:

  • NSArray 数组 用于对象有序集合
  • NSSet    集合 用于对象无序集合
  • NSDictionary  字典 用于键值(Key/Value)映射

以上三种集合类是不可变的(一旦初始化后,就不能改变)。因此对应的另有三种可变集合类NSMutableArrayNSMutableSetNSMutableDictionary所有这些(六大)集合类都只能收集CoCoa对象(NSObject对象)而已

NSArray
基本方法:
+ (id)arrayWithObjects:(id)firstObject,...,nil;  //可由一个个数据项创建一个自动释放的NSArray

- (int)count;   //得到array中的对象个数

- (id)objectAtIndex:(int)index;    //获取索引为index的对象

- (BOOL)containsObject:(id)anObject;  //当anObject出现在array中,则返回YES

- (unsigned)indexOfObject:(id)anObject;  //查找array中anObject,并返回其最小索引值。没找到返回NSNotFound。

- (void)makeObjectsPerformSelector:(SEL)aSelector;

- (NSArray *)sortedArrayUsingSelector:(SEL)aSelector;

- (id)lastObject;    //得到array中最后一个对象。如果array中没有任何对象存在,则返回nil。

NSSet
基本方法:
+ setWithObjects:(id)firstObject,...,nil;

- (int)count;

- (BOOL)containsObject:(id)anObject;

- (id)anyObject;

- (void)makeObjectsPerformSelector:(SEL)aSelector;

- (id)member:(id)anObject;

NSDictionary
一个NSDictionary对象就是Key/Value对的集合。Key是字符串(NSString),Value是对象指针。
Key在整个NSDictionary对象中是唯一的。通过方法objectForKey:可以获得对应于某个Key键的一个或多个Value值。NSDictionary在创建时,其中所有的Key与其对应的Value都是存在并一一对应。
基本方法:
+ dictionaryWithObjectsAndKeys:(id)firstObject,...,nil;   //参数是一个key,一个值。成双出现。

- (int)count;    //返回有多少对Key/Value

- (id)objectForKey:(id)Key;  //返回此Key相关联的Value。没有则返回nil。

- (NSArray *)allKeys     //返回一个包含所有Key的数组

- (NSArray *)allValues;   //返回一个包含所有Value的数组

- (NSEnumerator *)keyEnumerator;   //从一个dictionary中得到一个Key的迭代器

如列举所有的Key/Value对

NSEnumerator *enum = [myDictionary keyEnumerator];
for(NSString *s in enum) {
NSLog(@"key is %@, value is %@",s,[myDictionary objectForKey:s]);
}

注意:NSArray也有一个类似方法得到array的成员迭代器,就是objectEnumerator方法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C (OC)发布时间:2022-07-12
下一篇:
Objective-C与命名空间发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap