首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSMutableDictionary initWithContentsOfFile -空

NSMutableDictionary initWithContentsOfFile -空
EN

Stack Overflow用户
提问于 2012-05-09 20:08:47
回答 1查看 1.4K关注 0票数 0

我正在尝试使用.plist的内容创建一个NSMutableDictionary。我有以下代码:

代码语言:javascript
复制
NSString *myFile = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"plist"];
NSMutableDictionary* myDict = [[NSMutableDictionary alloc]initWithContentsOfFile:myFile];
NSObject *randomWord = [myDict objectForKey:@"Item 6"];
NSLog(@"%@", randomWord);

myFile和myDict是填充的(不是null),但是当想要打印randomWord (或myDict )时,它会打印"(null)“。

我到处都找过了。我做错了什么?

编辑:

代码语言:javascript
复制
self    MainViewController *const   0x068c0d60
myDict  NSMutableDictionary *   0x0000586c
myFile  NSString *  0x068c31f0

和NSLog:

代码语言:javascript
复制
2012-05-10 12:26:22.302 project2[681:f803] (null)

所以看起来myFile和myDict已经被填满了,但是randomWord还没有?

编辑#2:

NSLog(@"%@",myDict)打印:

代码语言:javascript
复制
2012-05-10 14:15:17.016 project2[2641:f803] (null)

所以你是对的,myDict是空的。

EN

回答 1

Stack Overflow用户

发布于 2012-05-09 20:12:40

删除第6项中的空格

代码语言:javascript
复制
[myDict objectForKey:@"Item6"];

如果这个不起作用,试试这个

代码语言:javascript
复制
NSString *path = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"plist"];
NSData* data = [NSData dataWithContentsOfFile:path];
NSMutableArray* array = [NSPropertyListSerialization propertyListFromData:data
                                                         mutabilityOption:NSPropertyListImmutable
                                                                   format:NSPropertyListXMLFormat_v1_0
                                                         errorDescription:NULL];
if (array) {
  NSMutableDictionary* myDict = [NSMutableDictionary dictionaryWithCapacity:[array count]];
  for (NSDictionary* dict in array) {
    State* state = [[State alloc] initWithDictionary:dict];
    [myDict setObject:state forKey:state.name;
    [state release];
  }
  NSLog(@"The count: %i", [myDic count]);
} else {
  NSLog(@"Plist does not exist");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10515770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档