首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏猿人谷

    词典对象 NSDictionary与NSMutableDictionary

    [NSDictionary initWithObjectsAndKeys:..] :使用键值对儿初始化词典对象,结尾必需使用nil标志结束。 的子类,所以继承了NSDictionary的方法。 在 Foundation 框架中的集合类—NSArray, NSDictionary 以及 NSSet—就采用了这个协议,就像 NSEnumerator. 例如,NSDictionary 以及 Core Data 类, NSManagedObjectModel 提供了对快速迭代的支持; NSDictionary 枚举它的键, NSManagedObjectModel 快速枚举的使用 下面的例子向我们展示了如何 NSArray 和 NSDictionary 对象是如何使用快速枚举的.

    1.6K70发布于 2018-01-17
  • 来自专栏浮躁的喧嚣

    iOS中的NSDictionary和NSMutableDictionary

    NSDictionary基本用法 //创建 NSDictionary *dic = [NSDictionary dictionaryWithObject:@"value" forKey: @"key"]; NSLog(@"%@",dic[@"key"]); NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys :@"value",@"key",@"A",@"a",@"B",@"b",@"C",@"c", nil]; NSLog(@"%@",dic1[@"key"]); NSDictionary writeToFile:@"/Users/soso/Desktop/demo1/NSArray/demo.plist" atomically:YES]; NSLog(@"%d",flag); NSDictionary *dic3 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/soso/Desktop/demo1/NSArray/demo.plist"];

    39410编辑于 2023-11-22
  • 来自专栏程序员——iOS开发

    iOS面试题:NSCache,NSDictionary,NSArray的区别

    NSDictionary 一个字典存储任意的对象键值对。 NSDictionary中的键是被拷贝的并且需要是恒定的。如果在一个键在被用于在字典中放入一个值后被改变,那么这个值可能就会变得无法获取了。 一个有趣的细节,在NSDictionary中键是被拷贝的,而在使用一个toll-free桥接的CFDictionary时却只被retain。 4. iOS 构建缓存时选 NSCache 而非NSDictionary 当系统资源将要耗尽时,NSCache可以自动删减缓存。 因此NSCache对象不会自动拷贝键,所以在键不支持拷贝操作的情况下,该类比字典用起来更方便 NScache是线程安全的,NSDictionary不是。

    1.7K00发布于 2019-07-06
  • 来自专栏全栈程序员必看

    iOS 根据已知NSDictionary的value找key

    NSString *objectId; NSDictionary *userDic = @{ @”11″:@”aaa”,@”22″:@”fff”,@”33″:@”已知道的value“,@”44″:

    60520编辑于 2022-09-15
  • 来自专栏Code_iOS

    Objective-C之NSDictionary学习笔记(IOS 9.1)

    NSDictionary类简介 1. 以key-object的形式保存数据,是一个集合类(collection) 2. 词典中词条的保存是无序的 3. *dict = [NSDictionary dictionary]; //返回空的词典对象 NSLog(@"dict --> %@",[dict description]); / = [NSDictionary dictionaryWithObject:@"dict1" forKey:@"dict"]; NSLog(@"dict1 --> %@",[dict1 , @2 : @"two", @3 : @"three"}; NSDictionary *dict4_3 = @{@1 : @"one", @2 : @"two"}; NSDictionary *dict5_2 = [[NSDictionary alloc] init]; dict5_2 = [NSDictionary dictionaryWithContentsOfFile

    1.5K10发布于 2018-09-04
  • 来自专栏DannyHoo的专栏

    字符串(NSString)、字典(NSDictionary)、数组(NSArray)的总结

    OC中的字典——NSDictionary作用也差不多,字典中的元素是以键值对的形势存在的,键值对就像字典中的生词和页数的关系,有着一定的对应关系。OC中的字典存储对象的地址是没有顺序的。

    1.4K20发布于 2018-09-13
  • 来自专栏韩曙亮的移动开发专栏

    【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

    NSDictionary 功能与用法 (1) NSDictionary 简介 NSDictionary 简介 :  -- 作用 : NSDictionary 集合用于保存具有映射关系的数据, 其中保存两组数据 对象数据写入文件中; (4) NSDictionary 示例代码 NSDictionary 示例代码 :  -- NSDictionary+toString.h :  // // NSDictionary NSDictionary key 排序 (1) NSDictionary Key 排序简介 NSDictionary 排序方法 :  -- "keysSortedByValueUsingSelector NSDictionary 功能与用法 (1) NSDictionary 简介 NSDictionary 简介 :  -- 作用 : NSDictionary 集合用于保存具有映射关系的数据, 其中保存两组数据 对象数据写入文件中; (4) NSDictionary 示例代码 NSDictionary 示例代码 :  -- NSDictionary+toString.h :  // // NSDictionary

    1.8K20编辑于 2023-03-27
  • 来自专栏陈满iOS

    iOS·数据结构选型:在某数据结构中避免重复字符串元素(NSArray,NSSet,NSDictionary

    数据结构选型: 数组:查询复杂度O(N) NSArray 哈希表:查询复杂度O(1) NSSet NSDictionary 1. 2.2 NSDictionary方案 实验代码 - (NSMutableSet *)sectionUrlDict { if(!

    1.6K20发布于 2018-09-10
  • 来自专栏程序员充电站(itcharge)

    OC知识--Foundation框架详尽总结之『字典类』

    NSDictionary 1.NSDictionar介绍 Dictionary翻译过来叫做"字典" 日常生活中,“字典”的作用:通过一个拼音或者汉字,就能找到对应的详细解释 NSDictionary的作用类似 :通过一个键(key),就能找到对应的值(value) NSDictionary中的键(key)是单值,通常是字符串,也可以是其他对象类型 NSDictionary中和键(key)关联的值(value) NSDictionary创建和获取简写 以前NSDictionary创建方式 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys NSDictionary和NSArray对比 1. NSDictionary和NSArray的区别 NSArray是有序的,NSDictionary是无序的 NSArray是通过下标访问元素,NSDictionary是通过key访问元素 2.

    95750发布于 2018-05-31
  • 来自专栏全栈程序员必看

    字面量(笑笑语法)

    [NSDictionary dictionaryWithObjectsAndKeys:v1,k1,v2,k2 nil]; @{k1:v1,k2:v2}; 6. [NSDictionary] NSDictionary *dict; dict = @{}; //空字典 dict = @{ k1 : o1 }; //包括一个键值对的字典 替换原有写法:[array replaceObjectAtIndex:i withObject:newObj]; NSDictionary NSDictionary *dict = @{ k1 = @{ k1 : o1, k2 : o2, k3 : o3 }; //包括多个键值对的字典 4.3 NSDictionary NSDictionary *dict; 替换原有写法:[array replaceObjectAtIndex:i withObject:newObj]; 5.2 NSDictionary NSDictionary

    45110编辑于 2022-07-07
  • 来自专栏ShaoYL

    iOS :Object-C 语言merge两个字典对象

    Object-C 语言merge两个字典对象 - (id)mutableDictionaryCopyIfNeeded:(id)dictObj { if ([dictObj isKindOfClass:[NSDictionary ]; } return dictObj; } /** 合并两个字典 @param dict 被合并的字典 */ - (void)mergingWithDictionary:(NSDictionary localObj = [self mutableDictionaryCopyIfNeeded:[self objectForKey:key]]; if ([obj isKindOfClass:[NSDictionary [localObj isKindOfClass:[NSMutableDictionary class]]) { // Recursive merge for NSDictionary /** 合并两个字典 @param dict 被合并的字典 @param ignoredKey 忽略的Key */ - (void)mergingWithDictionary:(NSDictionary

    2.2K70发布于 2018-05-11
  • 来自专栏浮躁的喧嚣

    block与GCD--40:块的循环引用

    使用block时,很容易导致“保留环” 第一种 #import <Foundation/Foundation.h> typedef void(^dosomethingBlock)(NSDictionary interface ViewController () @property (nonatomic,strong) Student *stu; @property (nonatomic,strong) NSDictionary void)viewDidLoad { [super viewDidLoad]; _stu = [[Student alloc]init]; [_stu startBlock:^(NSDictionary 修改这个bug,只需要清掉其中一个引用即可 _stu = [[Student alloc]init]; [_stu startBlock:^(NSDictionary *dic) { key"]); _stu = nil; }]; [_stu callBackData]; 第二种 typedef void(^dosomethingBlock)(NSDictionary

    36810编辑于 2023-11-22
  • 来自专栏码客

    富文本AttributedString的总结

    attributedString = [[NSMutableAttributedString alloc]init]; 设置字体格式和大小 NSString *str0 = @"设置字体格式和大小"; NSDictionary dictAttr0]; [attributedString appendAttributedString:attr0]; 设置字体颜色 NSString *str1 = @"\n设置字体颜色\n"; NSDictionary */ NSString *str3 = @"fly"; NSDictionary *dictAttr3 = @{NSFontAttributeName:[UIFont fontWithName: 并可以将Style和Pattern相互 取与 获取不同的效果 */ NSString *str51 = @"\n设置删除线为细单实线,颜色为红色"; NSDictionary *dictAttr51 设置中间部分颜色可以使用 NSForegroundColorAttributeName 属性来进行 */ NSString *str6 = @"设置笔画宽度和填充颜色\n"; NSDictionary

    4.1K20发布于 2019-10-22
  • 来自专栏日常技术分享

    iOS 路由改进

    interface Target_Commons : NSObject // 自定义push方法 - (UIViewController *)Action_Push_CommonController:(NSDictionary Parameter.h" #import "UIViewController+Block.h" #import <objc/runtime.h> typedef void (^callBlock)(NSDictionary @implementation Target_Commons // 自定义push方法 - (UIViewController *)Action_Push_CommonController:(NSDictionary = nil){ controller.backBlock = ^(NSDictionary * _Nonnull parameter) { callback(parameter objc_setAssociatedObject(self, PARAMETER_KEY, parameter, OBJC_ASSOCIATION_COPY_NONATOMIC); } - (NSDictionary

    78630发布于 2021-04-26
  • 来自专栏QQ音乐前端团队专栏

    Flutter Boost 接入实践(iOS 篇)

    implementation PlatformRouterImp #pragma mark - Boost 1.5- (void)open:(NSString *)name urlParams:(NSDictionary *)params exts:(NSDictionary *)exts completion:(void (^)(BOOL))completion{ BOOL animated = animated:animated]; if(completion) completion(YES);} - (void)present:(NSString *)name urlParams:(NSDictionary *)params exts:(NSDictionary *)exts completion:(void (^)(BOOL))completion{ BOOL animated = *)result exts:(NSDictionary *)exts completion:(void (^)(BOOL))completion{ BOOL animated

    3.3K10发布于 2020-04-22
  • 来自专栏码客

    AFNetworking简单封装(Block形式)

    *) pars callback:(ZJAFNetworkingBlock) callback; + (void)getWithUrl:(NSString *) url pars:(NSDictionary NSString *) auth callback:(ZJAFNetworkingBlock) callback; + (void)postWithUrl:(NSString *) url pars:(NSDictionary *) pars callback:(ZJAFNetworkingBlock) callback; + (void)postWithUrl:(NSString *) url pars:(NSDictionary callback(false,nil,error); }]; } + (void)postWithUrl:(NSString *)url pars:(NSDictionary callback(false,nil,error); }]; } + (void)postWithUrl:(NSString *)url pars:(NSDictionary

    1.4K10发布于 2019-10-22
  • 来自专栏浮躁的喧嚣

    系统框架--48:多用块枚举,少用for循环

    ; for (int i = 0; i< arr.count;i++) { NSLog(@"arrayContent--%@",arr[i]); } // NSDictionary (无序) NSDictionary *dic = @{@"1":@"1",@"2":@"2",@"3":@"3"}; for(int i = 0; i< dic.count;i++) = nil) { NSLog(@"str:%@",objectArr); } //NSDictionary(无序) NSDictionary *dic = @{@"1 NSDictionary *dic = @{@"1":@"1",@"2":@"2",@"3":@"3"}; for (NSString *key in dic) { NSString NSDictionary *dic = @{@"1":@"1",@"2":@"2",@"3":@"3"}; [dic enumerateKeysAndObjectsUsingBlock:^(id

    27610编辑于 2023-11-22
  • 来自专栏一“技”之长

    iOS中第三方有序字典框架——M13OrderedDictionary

    其实现了NSArray和NSDictionary中的所有方法,并且支持KVC与KVO。         M13OederedDictionary中提供的方法包括: 1.创建与初始化。 创建实例对象 + (instancetype)orderedDictionaryWithDictionary:(NSDictionary M13Generics(KeyType, ObjectType) 对象来进行初始化 - (instancetype)initWithContentsOfDictionary:(NSDictionary M13Generics(KeyType, ObjectType) 对象 - (NSDictionary M13Generics(KeyType, ObjectType) *)entryAtIndex:(NSUInteger)index; //通过一组下标获取一组元素的值 来获取某个元素的下标 找不到会返回NSNotFound - (NSUInteger)indexOfEntry:(NSDictionary M13Generics(KeyType, ObjectType)

    2.8K20发布于 2018-08-15
  • 来自专栏浮躁的喧嚣

    iOS-模型

    在开发中,经常使用到模型,通常做法就是字典转模型 字典转模型的过程最好封装在模型内部 模型应该提供一个可以传入字典参数的构造方法 - (instancetype)initWithDic:(NSDictionary *)dic; + (instancetype)xxxWithDic:(NSDictionary *)dic; 使用字典的坏处 一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key NSString *name; @property (nonatomic,strong,readonly) NSString *icon; - (instancetype)initWithDic:(NSDictionary *)dic; + (instancetype)personWithDic:(NSDictionary *)dic; @end ---- @implementation ImageData - (instancetype )initWithDic:(NSDictionary *)dic{ if (self = [super init]) { //第一种:用字典实例化对象的成员 //

    26410编辑于 2023-11-22
  • 来自专栏ShaoYL

    封装模型

    @property (nonatomic, strong) NSString *icon; /** 通过一个字典来初始化模型对象 */ - (instancetype)initWithDict:(NSDictionary *)dict; /** 通过一个字典来创建模型对象 */ + (instancetype)shopWithDict:(NSDictionary *)dict; @end 字典转模型示例 ```objc (instancetype)initWithDict:(NSDictionary *)dict { if (self = [super init]) { self.name = dict[@" name"]; self.icon = dict[@"icon"]; } return self; } (instancetype)shopWithDict:(NSDictionary *) NSBundle mainBundle] pathForResource:@"shops.plist" ofType:nil]; // 从plist文件中加载一个数组对象(这个数组中存放的都是NSDictionary

    1.2K70发布于 2018-05-11
领券