Iphone 为什么我的NSMutableDictionary为空?

Iphone 为什么我的NSMutableDictionary为空?,iphone,ios,xcode,Iphone,Ios,Xcode,这是我的UIAlertView委托方法。我不知道为什么在运行应用程序时myWordsDictionary为空。(注意:_dailyWords是NSDictionary对象,bookmarked是NSString对象。) 提前感谢。myWordsPath可能不包含任何有效的文件,您正在从该路径中存在的文件内容初始化您的NSMutableDictionary。这就是为什么你会得到一个空字典 myWordsPath可能不包含任何有效文件,您正在从该路径中存在的文件内容初始化您的NSMutableDic

这是我的UIAlertView委托方法。我不知道为什么在运行应用程序时myWordsDictionary为空。(注意:_dailyWords是NSDictionary对象,bookmarked是NSString对象。)


提前感谢。

myWordsPath
可能不包含任何有效的文件,您正在从该路径中存在的文件内容初始化您的
NSMutableDictionary
。这就是为什么你会得到一个空字典

myWordsPath
可能不包含任何有效文件,您正在从该路径中存在的文件内容初始化您的
NSMutableDictionary
。这就是为什么你会得到一个空字典

首先,尝试检查
myWordsPath
,如果它返回null,您应该查找并找到正确的路径


第二,如何生成plist<代码>MyWords.plist必须包含有效格式。如果您不确定,应该从XCode中创建,其中有plist对象

首先,尝试检查
myWordsPath
,如果它返回null,您应该查找并找到正确的路径

NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:
                       @"MyWords" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc]
                            initWithContentsOfFile:plistPath];

第二,如何生成plist<代码>MyWords.plist必须包含有效格式。如果您不确定,应该从XCode中创建,其中有plist对象

请尝试此代码。

NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:
                       @"MyWords" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc]
                            initWithContentsOfFile:plistPath];
NSString *documentPath =    [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES)  objectAtIndex:0];
documentPath =    [documentPath stringByAppendingPathComponent:@"MyWords.plist"]; 
NSMutableDictionary *myWordsDictionary = [[NSMutableDictionary alloc]    initWithContentsOfFile:documentPath];

请尝试此代码。

NSString *documentPath =    [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES)  objectAtIndex:0];
documentPath =    [documentPath stringByAppendingPathComponent:@"MyWords.plist"]; 
NSMutableDictionary *myWordsDictionary = [[NSMutableDictionary alloc]    initWithContentsOfFile:documentPath];

因为您试图访问的路径中不存在
MyWords.plist
,或者它的根元素不是字典而是数组。一旦记录了所有documentPath和myWordsPath,您可以将日志粘贴到这里吗?/Users/seokhyeoncoi/Library/Application Support/iPhone Simulator/4.3.2/Applications/CAAF196E-7383-4178-B469-38ABEB51BC48/Documents,/Users/seokhyeoncoi/Library/Application Support/iPhone Simulator/4.3.2/Applications/CAAF196E-7383-4178-B469-38ABEB51BC48/Documents/MyWords.plist(gdb)po书签放弃(gdb)po[_dailywordsobjectforkey:bookmarked]v/n。[放弃:抑制::冷静:疯狂]以上两条评论是用myWordsDictionary编写的日志和键值对。我错过了什么吗?因为在您试图访问它的路径上,
MyWords.plist
不存在,或者它的根元素不是字典而是数组。一旦记录了所有documentPath和myWordsPath,您可以将日志粘贴到这里吗?/Users/seokhyeoncoi/Library/Application Support/iPhone Simulator/4.3.2/Applications/CAAF196E-7383-4178-B469-38ABEB51BC48/Documents,/Users/seokhyeoncoi/Library/Application Support/iPhone Simulator/4.3.2/Applications/CAAF196E-7383-4178-B469-38ABEB51BC48/Documents/MyWords.plist(gdb)po书签放弃(gdb)po[_dailywordsobjectforkey:bookmarked]v/n。[放弃:抑制::冷静:疯狂]以上两条评论是用myWordsDictionary编写的日志和键值对。我错过什么了吗?