标签: nsdictionary

替换iPhone中的NSDictionary中的值

我有一个NSDictionary"item"的数组(dataArray).对于5名学生,它具有关键"名称"的"david"和关键"标记"等的"85"等数据.我想将david的标记替换为数组索引值的90(即0表示包含david和85的字典).我该怎么做?

数组中内容的代码是

[item setobject:name forkey:@"Name"];
[item setobject:mark forkey:@"Marks"];
[dataArray addOject:item]
Run Code Online (Sandbox Code Playgroud)

上面的代码进入解析,所以我有5个对象(学生),他们的名字和标记的数组,现在我想替换dataArray中第一个对象的标记.

iphone nsdictionary

28
推荐指数
4
解决办法
6万
查看次数

UIView作为字典键?

我希望有一个NSDictionaryUIViews 映射到其他东西.

但是,由于UIViews没有实现NSCopying协议,我不能直接将它们用作字典键.

iphone objective-c nsdictionary uiview nscopying

27
推荐指数
3
解决办法
7448
查看次数

Objective-C的NSDictionary的Java等价物是什么?

NSDictionaryJava中最接近Objective-C的实现是什么?对我来说,它看起来像HashMap<String, Object>,但我对Objective-C很新.

谢谢

java objective-c hashmap nsdictionary

27
推荐指数
2
解决办法
1万
查看次数

swift:将多个<key,value>对象添加到NSDictionary

我正在尝试向NSDictionary添加多个对象,比如

var myDict: NSDictionary = [["fname": "abc", "lname": "def"], ["fname": "ghi", "lname": "jkl"], ...]
Run Code Online (Sandbox Code Playgroud)

甚至可以这样做吗?如果没有,请建议更好的方法.我实际上需要将此NSDictionary转换为JSON字符串并将其发送到服务器,因此我需要NSDictionary中的多个对象.

json nsdictionary key-value ios swift

27
推荐指数
1
解决办法
7万
查看次数

初始化NSDictionary

以下是我的.h文件:

    NSDictionary *originalValues;
    @property (nonatomic, retain) NSDictionary *originalValues;
Run Code Online (Sandbox Code Playgroud)

这是用于初始化NSDictionary的.m文件.

@synthesize originalValues;

- (void)viewDidLoad {

// copy original values when view loaded
originalValues = [[NSDictionary alloc] initWithObjectsAndKeys:place.city, @"city", place.cuisine, @"cuisine",
                place.latitude, @"latitude", place.longitude, @"longitude", place.name, @"name", place.rating,
                @"rating", place.state, @"state", place.street, @"street", place.telephone, @"telephone",
                place.timesVisited, @"times visited", place.uppercaseFirstLetterOfName, @"first letter", 
                place.website, @"website", place.zipcode, @"zipcode", nil];
}
Run Code Online (Sandbox Code Playgroud)

问题是只有前四个对象和键被添加.之后,它们不会被添加到以place.name,@"name"开头的字典中.我在整个字典上做了一个NSLog,输出的唯一的东西是我提到的前四个值,然后我在place.name上做了一个NSLog,它输出一个值,所以我知道也应输出这个键/值对.这里有什么我想念的吗?我很好奇为什么所有的值都没有最初添加到NSDictionary中?

xcode objective-c nsdictionary ios

26
推荐指数
3
解决办法
6万
查看次数

如何从NSDictionary中提取一个整数并将其放入整数?

我有一个用plist初始化的NSDictionary,除其他外,包含计数后跟32,我想得到count的值.

怎么样?

我知道如何通过它进入一个对象

[dictionaryObjectName objectForKey:@"count"]
Run Code Online (Sandbox Code Playgroud)

但对我来说,我所获得的价值不是一个对象.

如果我必须指定一个对象,那么最好使用的是什么(FYI值总是无符号),我需要将它变成一个真正的int.

我会做点什么吗?

NSNumber *num = [dictionaryObjectName objectForKey:@"count"];
int theValue = [num intValue];
[num release];
Run Code Online (Sandbox Code Playgroud)

对于没有垃圾收集器的iPhone来说,num上的发布是一件好事吗?

iphone nsdictionary

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

直接访问Objective-C中的嵌套字典值

有没有办法在Objective-C中直接访问外部数组的内部数组?例如,对外部数据源的调用将返回以下对象:

{
bio = "this is the profile.bio data";
"first_name" = John;
"last_name" = Doe;
location =     {
    name = "Any Town, Any State";
};
metadata =    {
    pictures =    {
        picture = "https://picture.mysite.com/picture.jpeg";
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我希望能够访问例如location.name或metadata.pictures.picture数据.但是,点符号似乎不起作用.例如:

_gfbLocation = [result objectForKey:@"location.name"];
_gfbPicture = [result objectForKey:@"metadata.pictures.picture"];
Run Code Online (Sandbox Code Playgroud)

我能够访问此数据的唯一方法是首先将内部数组的内容设置为对象.思考?

iphone dictionary objective-c nsdictionary key-value-coding

24
推荐指数
1
解决办法
2万
查看次数

按键字母顺序排序NSDictionary值

我可以获取按值排序的字典键数组,但是如何获取按字典键排序的值数组?我一直在寻找没有运气的地方.任何帮助赞赏.

objective-c nsdictionary swift

24
推荐指数
1
解决办法
3万
查看次数

NSDictionary setValue:forKey: - 获取"此类不是密钥值编码兼容的密钥"

我的程序中有这个简单的循环:

for (Element *e in items)
{
    NSDictionary *article = [[NSDictionary alloc] init];
    NSLog([[e selectElement: @"title"] contentsText]);
    [article setValue: [[e selectElement: @"title"] contentsText] forKey: @"Title"];

    [self.articles insertObject: article atIndex: [self.articles count]];
    [article release];
}
Run Code Online (Sandbox Code Playgroud)

它使用ElementParser库从RSS提要中创建值的字典(除了"title"之外还有其他值,我省略了).self.articles是一个NSMutableArray,它存储RSS文档中的所有字典.

最后,这应该产生一个字典数组,每个字典包含我需要的关于任何数组索引的项的信息.当我尝试使用setValue:forKey:它时,给我了

this class is not key value coding-compliant for the key "Title"

错误.这与Interface Builder无关,它只是代码.为什么我收到此错误?

objective-c nsdictionary data-structures

24
推荐指数
2
解决办法
4万
查看次数

如何从NSArray中的每个NSDictionary获取特定键的所有值?

我有一个包含字典对象的数组.在每个字典中,密钥是常见的.现在我想获得该密钥的所有值.我有迭代的这些值,但我正在寻找一些直接的方法或一个默认的方法来完成这项工作.

你能帮我一个默认的方法来达到目的吗?谢谢.

数据结构是这样的:

<array>
    <dict>
        <key>Match</key>
        <string>Football</string>
        <key>Stadium</key>
        <string>XXXXX</string>
    </dict>
    <dict>
        <key>Match</key>
        <string>HOCKY</string>
        <key>Stadium</key>
        <string>XXXXX</string>
    </dict>
 </array>
Run Code Online (Sandbox Code Playgroud)

我现在这样做:

NSMutableArray * matches = [[NSMutableArray alloc] init];
        for (int i = 0; i< myArray.count; i++){
            [matches insertObject:[[myArray objectAtIndex:i] objectForKey:@"Match"] atIndex:i];
        }
        [matchDataArray addObjectsFromArray:matches];
Run Code Online (Sandbox Code Playgroud)

它给了我正确的答案.但我不想做这个迭代.我想要一个方法,它将从数组的所有索引返回"匹配"键的所有值,并立即保存在另一个数组中.新创建的数组将只包含来自数组的所有索引的Match键值.

这可能吗??

objective-c nsdictionary key-value-coding nsarray

24
推荐指数
1
解决办法
3万
查看次数