Objective-C ---NSDictionary(梳理整理)

NSDictionary

NSDictionary是无序的集合(NSArray是有序的)

key->value键值对,也就是说字典是通过key来找值的( NSArray是通过下标找值的)

1.创建方式

    a.initWithDictionary

    b.[NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>

    c.NSDictionary* dictionary = @{key1 : value1 ,  key2 : value2 ,  key3 : value3 ……}<<NSArray为[]<-中括号>>

2.常用的属性

    a.count

    b.id obj = dictionary[key]

    c.allValues, allKeysForObject

3.遍历  直接推荐forin方式

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}

子类NSMutableDictionary

增: set***** 对键值对(一般就这个了); add***** 增加一个字典内容;  

删: remove*******

改: set******(和增加是同一个方法,有的时候就修改value  没有的话就会添加一对键值对)

=========================================

比较

   1.字典相对与数组的优点  (查询)

    字典获取元素速度比数组快

2.获取元素的方式

数组通过下标获取指定元素的内容

字典通过key来获取指定元素的内容

3.遍历删除的问题 ?? forin  enum block 均不能在遍历的同时  删除元素  for 可以,条件设置为i--

 

苹果官方文档学习(部分在这  全部请至官文文档查看

class NSDictionary

The NSDictionary class declares the programmatic interface to objects that manage immutable associations of keys and values. Use this class or its subclass NSMutableDictionary when you need a convenient and efficient way to retrieve data associated with an arbitrary key. NSDictionary creates static dictionaries, and NSMutableDictionary creates dynamic dictionaries. (For convenience, the term dictionary refers to any instance of one of these classes without specifying its exact class membership.)

NSDictionary类声明的对象,管理固定的键-值关联的编程接口。使用这个类或其子类nsmutabledictionary当你需要检索与任意密钥相关的数据,方便和有效的方式。NSDictionary创建静态字典,和nsmutabledictionary创建动态字典。为了方便起见,术语词典指的是这些类中的任何一个实例,而没有指定其确切的类成员。

Symbols

1.1 Creating a Dictionary(类方法创建)

1.2 Initializing an NSDictionary Instance(对象方法创建)

1.3 Creating Key Sets for Shared-Key Optimized Dictionaries

1.4 Counting Entries(count)

1.5 Comparing Dictionaries(比较是否相等)

1.6 Accessing Keys and Values(访问 Keys and Values)

  1. allKeys
  2. allKeysForObject:
  3. allValues
  4. objectForKey:
  5. objectForKeyedSubscript:
  6. objectsForKeys:notFoundMarker:
  7. valueForKey:

1.7 Enumerating Dictionaries(枚举字典)

1.8 Sorting Dictionaries(排序字典的keys)

  1. keysSortedByValueUsingSelector:
  2. keysSortedByValueUsingComparator:
  3. keysSortedByValueWithOptions:usingComparator:

1.9 Filtering Dictionaries(过滤字典)

  1. keysOfEntriesPassingTest:
  2. keysOfEntriesWithOptions:passingTest:

1.10 Storing Dictionaries(储存字典)

  1. writeToFile:atomically:
  2. writeToURL:atomically:

1.11 Accessing File Attributes(访问文件属性)

1.12 Creating a Description(创建一个描述)

1.13 Initializers(initWithCoder:)

1.14 Instance Methods

  1. keyEnumerator
  2. getObjects:andKeys:count:

Relationships

2.1 Inherits From NSObject

2.2 Conforms To  NSCopying  NSMutableCopying  NSFastEnumeration  NSSecureCoding

 

class NSMutableDictionary

Symbols

这一部份写得有点简单 。有兴趣可以去苹果官方文档查看

1.1 Creating and Initializing a Mutable Dictionary(创建)

1.2 Adding Entries to a Mutable Dictionary(增)

1.3 Removing Entries From a Mutable Dictionary(删除)

1.4 Initializers

1.5 Instance Methods

1.6 Type Methods

Relationships

2.1 Inherits From   NSDictionary

转载于:https://my.oschina.net/adso/blog/880166

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值