一NSDictionary使用原理 1NSDictionary字典是使用hash表来实现key和value之间iosdata封装到字典的映射和存储的iosdata封装到字典,hash函数设计的好坏影响着数据的查找访问效率 voidsetObjectidanObject forKeyidaKey2ObjectiveC中的字典NSDictionary底层其实是一个哈希表iosdata封装到字典,实际上绝大多数语言中字典都通过哈希表。

NSUserDefault是iOS提供的本地化数据存储方式,会在沙盒中自动创建一个plist的配置文件,将数据保存起来,在读取时,以NSDictionary字典来进行接收 在Xcode5及之前的版本中,具体的路径为UsersshifengweiLibraryApplication SupportiPhone Simulator703ApplicationsC13D8249BC92B8F5。

可以NSDictionary的key是NSString类型了,但是value是id类型的,也就是说只要是ObjectiveC对象都可以,NSData可以实例化为一个对象,所以毫无疑问是可以的代码如下 NSData *data = NSData alloc init NSString *keyOfDic = @quotdataK。

字典内只能存储对象,非对象数据就需要转成对象来存储比方说基本类型NSIntegerCGFloat等等用@包起来就可以存储,CGPointCGRect可以使用NSStringFromXXX来转成字符串存储以下为自定义结构体存入字典的方法。

字典中的value是iosdata封装到字典你自己存放进去的,使得时候同样取出就ok,一般结构体等都需要特定转换,存放的如果是CGRect,则可用valus CGRectValue就可以使用了,存放的如果是CGSize则可用value CGSizeValue以此类推。

有点疑惑的时tableview的数据源一般不是array形式的吗数据请求成功之后,刷新一下tableview就可以了,当然前提是你的比较重要的几个tableview的delegate方法已经全部实现一般情况下,返回的数据,和tablev的数据,使用同一个指针tablevie。

就是json数据 请求成功返回数据需要转化成字典即json格式数据NSDictionary *dict = NSJSONSerialization JSONObjectWithDataresponseObject optionsNSJSONReadingMutableLeaves errornil这样打印出来的数据就是Json数据啦,非常直观。

iosdata封装到字典的简单介绍  第1张