Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在NSDictionary中编辑plist_Objective C_Plist_Nsdictionary - Fatal编程技术网

Objective c 在NSDictionary中编辑plist

Objective c 在NSDictionary中编辑plist,objective-c,plist,nsdictionary,Objective C,Plist,Nsdictionary,我正在将plist导入NSDictionary对象,并希望将字典中plist的内容更改为小写。我尝试过几种不同的方法,但都没有成功。也许我应该编辑NSDictionary中的字符串,但是我不知道怎么做 我现在正确地导入了plist,但是小写的行实际上什么都不做 NSString *contents = [[NSBundle mainBundle] pathForResource:@"Assets/test" ofType:@"plist"]; NSString *newContents = [

我正在将plist导入NSDictionary对象,并希望将字典中plist的内容更改为小写。我尝试过几种不同的方法,但都没有成功。也许我应该编辑NSDictionary中的字符串,但是我不知道怎么做

我现在正确地导入了plist,但是小写的行实际上什么都不做

NSString *contents = [[NSBundle mainBundle] pathForResource:@"Assets/test" ofType:@"plist"];

NSString *newContents = [contents lowercaseString];

NSDictionary *someDic = [NSDictionary dictionaryWithContentsOfFile:newContents];

for (NSString *someData in someDic) {
        NSLog(@"%@ relates to %@", someData, [someDic objectForKey:someData]);
    }
我记录了“content”字符串,它给了我一个路径值,所以很明显,将其更改为小写字符串不会起任何作用。我觉得我必须访问字典中的字符串

这条线

NSString *newContents = [contents lowercaseString];
是否更改从返回的路径字符串

NSString *contents = [[NSBundle mainBundle] pathForResource:@"Assets/test" ofType:@"plist"];
因此,您将得到类似../assets/test.plist的结果

您将需要浏览someDic的内容,并根据旧的字符串转换为小写创建一个新词典,如果您只关心someDic中的值,您可以执行以下操作

for( NSString * theKey in someDic )
{
    id     theObj = [someDic objectForKey:theKey];
    if( [theObj isKindOfClass:[NSString class]] )
        theObj = [theObj lowercaseString];
    [theNewDict setObject:theObj forKey:theKey];
}

我假设您将使用dictionaryWithDictionary来处理第一个字典的属性,但是如何将其中的字符串设置为小写?不只是动态创建新字典,您还是要替换新条目。我必须手动替换每个条目吗?如果某个条目是字典中的数组和字符串呢?我只是不知道该怎么做,也找不到类似的东西。然后你必须递归地做,创建两个函数或方法,一个接受NSArray并返回小写版本,另一个接受NSDictionary并返回小写版本,在这些函数中,当您找到数组或字典时,请使用字典或数组调用数组或字典函数,并将结果插入到您正在创建的数组或字典中。谢谢您的帮助!当我可以的时候,我会回来给你答案的,哈哈。