草庐IT

NSdictionary

全部标签

objective-c - 对于 Objective-C 中用于访问 NSMutable 字典的每个循环

我发现在Objective-C中访问可变字典键和值有一些困难。假设我有这个:NSMutableDictionary*xyz=[[NSMutableDictionaryalloc]init];我可以设置键和值。现在,我只想访问每个键和值,但我不知道设置的键数。在PHP中很简单,如下所示:foreach($xyzas$key=>$value)在Objective-C中怎么可能? 最佳答案 for(NSString*keyinxyz){idvalue=xyz[key];//dostuff}这适用于每个符合NSFastEnumeration

objective-c - 如何检查 NSDictionary 或 NSMutableDictionary 是否包含 key ?

我需要检查字典是否有键。怎么样? 最佳答案 如果键不存在,objectForKey将返回nil。 关于objective-c-如何检查NSDictionary或NSMutableDictionary是否包含key?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2784648/

objective-c - 如何检查 NSDictionary 或 NSMutableDictionary 是否包含 key ?

我需要检查字典是否有键。怎么样? 最佳答案 如果键不存在,objectForKey将返回nil。 关于objective-c-如何检查NSDictionary或NSMutableDictionary是否包含key?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2784648/

@property声明的 NSArray、NSDictionary为什么经常使用 copy 关键字

分析:NSString、NSArray、NSDictionary含有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary,他们之间可能进行赋值操作(就是把可变的赋值给不可变的),为确保对象中的字符串值不会无意间变动,应该在设置新属性值时拷贝一份。经常使用copy修饰是因为:1、遵循父类指针可以指向子类对象原理,使用copy修饰是为了让本对象的属性不受外界影响,无论给我传入是一个可变对象还是不可对象,我本身持有的是一个不可变的副本。2、如果我们使用是strong,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,

@property声明的 NSArray、NSDictionary为什么经常使用 copy 关键字

分析:NSString、NSArray、NSDictionary含有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary,他们之间可能进行赋值操作(就是把可变的赋值给不可变的),为确保对象中的字符串值不会无意间变动,应该在设置新属性值时拷贝一份。经常使用copy修饰是因为:1、遵循父类指针可以指向子类对象原理,使用copy修饰是为了让本对象的属性不受外界影响,无论给我传入是一个可变对象还是不可对象,我本身持有的是一个不可变的副本。2、如果我们使用是strong,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,

iOS 单元测试和 UITests

单元测试: 代码如下: 例子如下: 1 Person.h #importNS_ASSUME_NONNULL_BEGIN@interfacePerson:NSObject@property(nonatomic,strong)NSString*name;@property(nonatomic,assign)NSIntegerage;-(instancetype)initWithInfo:(NSDictionary*)info; @endNS_ASSUME_NONNULL_END2 Person.m #import"Person.h"@implementationPerson-(instancety

iOS 单元测试和 UITests

单元测试: 代码如下: 例子如下: 1 Person.h #importNS_ASSUME_NONNULL_BEGIN@interfacePerson:NSObject@property(nonatomic,strong)NSString*name;@property(nonatomic,assign)NSIntegerage;-(instancetype)initWithInfo:(NSDictionary*)info; @endNS_ASSUME_NONNULL_END2 Person.m #import"Person.h"@implementationPerson-(instancety

关于 ios:尝试保存数组,出现错误 – 无法将类型 \\'[Data]\\’ 的值转换为预期的参数类型 \\'[Dictionary<String, AnyObject>]\\’

TryingtosaveArray,goterror-Cannotconvertvalueoftype'[Data]'toexpectedargumenttype'[Dictionary]'我正在尝试使用此函数保存从tableview添加的数组:1234classfuncsaveArray(_value:[Dictionary],key:String){    letdata=NSKeyedArchiver.archivedData(withRootObject:value)    UserDefaults.standard.set(data,forKey:key)  }下面是我要保存数组的函

关于 ios:尝试保存数组,出现错误 – 无法将类型 \\'[Data]\\’ 的值转换为预期的参数类型 \\'[Dictionary<String, AnyObject>]\\’

TryingtosaveArray,goterror-Cannotconvertvalueoftype'[Data]'toexpectedargumenttype'[Dictionary]'我正在尝试使用此函数保存从tableview添加的数组:1234classfuncsaveArray(_value:[Dictionary],key:String){    letdata=NSKeyedArchiver.archivedData(withRootObject:value)    UserDefaults.standard.set(data,forKey:key)  }下面是我要保存数组的函

关于 iphone:Filter NSDictionary using DidSelectRow selection as key/filter object

FilterNSDictionaryusingDidSelectRowselectionaskey/filterobject我在两个可变数组中解析并存储了一个XML,它们是albumArray和trackArray。我使用这两个数组创建了一个字典,如下所示,1 trackANDAlbum=[NSMutableDictionarydictionaryWithObjects:trackArrayforKeys:albumArray];所以我的字典看起来像这样:123 album1=song1 album1=song2 album1=song3etc.由于albumArray包含重复项,我使用NSS