25-NSDictionary、MutableDictionary

l通过唯一的key找到对应的value,类似于JavaMap
l常见的创建NSDictionary的方法
l+ (id)dictionary
l+ (id)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key
l+ (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...
l+ (id)dictionaryWithDictionary:(NSDictionary *)dict
l+ (id)dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys
l- (id)initWithObjectsAndKeys:(id)firstObject, ...
l- (id)initWithDictionary:(NSDictionary *)otherDictionary
l- (id)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys
l+ (id)dictionaryWithContentsOfFile:(NSString *)path
l+ (id)dictionaryWithContentsOfURL:(NSURL *)url
l- (id)initWithContentsOfFile:(NSString *)path
l- (id)initWithContentsOfURL:(NSURL *)url

NSDictionary的常见用法
l- (NSUInteger)count      

回字典的key

l- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary

较两个字

l- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile

将一个NSDicionary持久化到文件中去


NSDictionary 访问key和value
l- (NSArray *)allKeys

返回所有的key

l- (NSArray *)allKeysForObject:(id)anObject

返回anObject元素对应的所有key

l- (NSArray *)allValues

返回所有的value

l- (id)objectForKey:(id)aKey

根据aKey返回对应的value

l- (NSArray *)objectsForKeys:(NSArray *)keys notFoundMarker:(id)marker

返回keys对应的所有value,如果没有对应的value,marker代替



NSDictionary遍历
l快速遍历:for (NSString *key in dict)
l迭代器遍历:
u- (NSEnumerator *)keyEnumerator

key的迭代器

u(NSEnumerator *)objectEnumerator

value的迭代器

lblock遍历

[dict enumerateKeysAndObjectsUsingBlock:^(id key,

    id object, BOOL* stop) {

    NSLog(@"key=%@, object=%@", key, object);



NSDictionary的key排序
l- (NSArray *)keysSortedByValueUsingComparator:(NSComparator)cmptr
l- (NSArray *)keysSortedByValueWithOptions:(NSSortOptions)opts usingComparator:(NSComparator)cmptr
l- (NSArray *)keysSortedByValueUsingSelector:(SEL)comparator

用法参展NSArray的排序


NSMultableDictionary 可变的Dictionary
l可变的NSDictionary,NSDictionary的子类
l初始化方法:
u+ (id)dictionaryWithCapacity:(NSUInteger)numItems
u(id)initWithCapacity:(NSUInteger)numItems
u也可以用初始化NSDictionary的方法来初始化NSMutableDictionary

NSMutableDictionary   添加元素

l- (void)setDictionary:(NSDictionary *)otherDictionary

设置当前集合的元素

l- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey

添加一个键值对

l(void)addEntriesFromDictionary:(NSDictionary *)otherDictionary

添加otherDictionary的所有元素到当前集合中




NSMultableDictionary   删除元素


l- (void)removeAllObjects

删除所有元素

l- (void)removeObjectForKey:(id)aKey

删除aKey对应的值

l- (void)removeObjectsForKeys:(NSArray *)keyArray

删除keyArray中所有key对应的值


























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值