标签: nsdictionary

对于目标c中的每个循环,用于访问NSMutable字典

我发现在Objective-C中访问可变字典键和值有些困难.

假设我有这个:

NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
Run Code Online (Sandbox Code Playgroud)

我可以设置键和值.现在,我只想访问每个键和值,但我不知道键的数量.

在PHP中它非常简单,如下所示:

foreach ($xyz as $key => $value)
Run Code Online (Sandbox Code Playgroud)

如何在Objective-C中实现?

enumeration objective-c nsdictionary key-value nsmutabledictionary

261
推荐指数
5
解决办法
24万
查看次数

有没有办法迭代字典?

我知道NSDictionaries你需要一个东西,key以获得一个value.但是我如何迭代所有keysvaluesa NSDictionary,以便我知道有哪些键,以及有什么值?我知道有一种称为for-in-loop的东西JavaScript.有类似的东西Objective-C吗?

iteration foreach objective-c nsdictionary ios

195
推荐指数
3
解决办法
11万
查看次数

如何在swift中将元素追加到字典中?

我有简单的词典,定义如下:

var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]
Run Code Online (Sandbox Code Playgroud)

但是后来我想在这本字典中添加一些元素 3 : "efg"

但我不知道我怎么能执行这个我在网上搜索过很多的动作但没有什么可以帮助我.

有谁能告诉我如何才能3 : "efg"加入现有的字典?

nsdictionary swift

191
推荐指数
15
解决办法
25万
查看次数

最佳实践? - 数组/字典作为核心数据实体属性

我是Core Data的新手.我注意到集合类型不可用作属性类型,并且想知道将数组/字典类型数据存储为属性的最有效方法是什么(例如,构成街道,城市等地址的元素确实如此不需要单独的实体,并且比单独的属性/字段更方便地存储为字典/数组.谢谢.

core-data objective-c nsdictionary nsarray ios

175
推荐指数
2
解决办法
7万
查看次数

如何将NSDictionary转换为NSData,反之亦然?

我正在发送NSStringUIImage使用蓝牙.我决定将两者都存储在一个NSDictionary然后将字典转换为NSData.

我的问题是如何转换NSDictionary,NSData反之亦然?

iphone objective-c nsdictionary ios

156
推荐指数
5
解决办法
12万
查看次数

如何使用NSJSONSerialization

我有一个JSON字符串(来自PHP的json_encode()看起来像这样:

[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]
Run Code Online (Sandbox Code Playgroud)

我想将其解析为我的iPhone应用程序的某种数据结构.我想对我来说最好的事情就是拥有一个字典数组,所以数组中的第0个元素是一个带键"id" => "1"和字典的字典"name" => "Aaa".

我不明白如何NSJSONSerialization存储数据.到目前为止,这是我的代码:

NSError *e = nil;
NSDictionary *JSON = [NSJSONSerialization 
    JSONObjectWithData: data 
    options: NSJSONReadingMutableContainers 
    error: &e];
Run Code Online (Sandbox Code Playgroud)

这只是我在另一个网站上看到的一个例子.我一直试图JSON通过打印出那些元素和类似的东西来读取对象,但我总是得到EXC_BAD_ACCESS.

我如何使用NSJSONSerialization解析上面的JSON,并将其转换为我提到的数据结构?

json objective-c nsdictionary ios

154
推荐指数
5
解决办法
21万
查看次数

如何将JSON字符串反序列化为NSDictionary?(适用于iOS 5+)

在我的iOS 5应用程序中,我有一个NSString包含JSON字符串的应用程序.我想将JSON字符串表示反序列化为本机NSDictionary对象.

 "{\"password\" : \"1234\",  \"user\" : \"andreas\"}"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}"
                                options:NSJSONReadingMutableContainers
                                  error:&e];  
Run Code Online (Sandbox Code Playgroud)

但它会引发运行时错误.我究竟做错了什么?

-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c'
Run Code Online (Sandbox Code Playgroud)

json nsdictionary nsstring ios ios5

151
推荐指数
4
解决办法
15万
查看次数

在一个语句中一次向HashMap添加多个条目

我需要初始化一个常量HashMap,并希望在一行语句中执行它.像这样避免某事:

  hashMap.put("One", new Integer(1)); // adding value into HashMap
  hashMap.put("Two", new Integer(2));      
  hashMap.put("Three", new Integer(3));
Run Code Online (Sandbox Code Playgroud)

在目标C中类似于此:

[NSDictionary dictionaryWithObjectsAndKeys:
@"w",[NSNumber numberWithInt:1],
@"K",[NSNumber numberWithInt:2],
@"e",[NSNumber numberWithInt:4],
@"z",[NSNumber numberWithInt:5],
@"l",[NSNumber numberWithInt:6],
nil] 
Run Code Online (Sandbox Code Playgroud)

我没有找到任何一个例子来说明如何做这个看了这么多.

java iphone android hashmap nsdictionary

121
推荐指数
6
解决办法
12万
查看次数

使用NSPredicate根据NSDictionary键过滤NSArray

我有一系列字典.

我想基于密钥过滤数组.

我试过这个:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT ==  %@)", @"Football"];

NSArray *filteredArray = [data filteredArrayUsingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

这不起作用,我没有结果.我想我做错了什么.我知道如果"SPORT"是一个ivar,这就是方法.我认为如果它是关键的话可能会有所不同.

然而,我无法找到一个例子.

谢谢


更新

我在我正在搜索的字符串周围添加了引号.

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT ==  '%@')", @"Football"];
Run Code Online (Sandbox Code Playgroud)

它仍然无法正常工作.


更新2

解决了它.我实际上不得不删除单引号,这似乎与指南所说的相反.

我真正的问题是我有一个嵌套数组,我实际上并没有评估字典.骨头移动.

cocoa objective-c nsdictionary nsarray nspredicate

94
推荐指数
3
解决办法
10万
查看次数

NSDictionary - 需要检查字典是否包含键值对

我只需要问一下如下.假设我有一本字典.

NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
[xyz setValue:@"sagar" forKey:@"s"];
[xyz setValue:@"amit" forKey:@"a"];
[xyz setValue:@"nirav" forKey:@"n"];
[xyz setValue:@"abhishek" forKey:@"a"];
[xyz setValue:@"xrox" forKey:@"x"];
Run Code Online (Sandbox Code Playgroud)

现在,我需要检查如下

[xyz确实包含键"b"值?对还是不对?

问题是如何?

另一个问题是如何计算总键值对?

比如说 NSInteger mCount=[xyz keyCounts];

objective-c nsdictionary ios

92
推荐指数
1
解决办法
10万
查看次数