仍在学习目标-c对我来说如此光鲜。我正在将一个plist导入NSDictionary对象,并希望将字典中的plist内容更改为小写一次。我尝试了几种不同的运气方式。也许我应该编辑NSDictionary中的字符串,但后来我不知道该怎么做。
我目前正确地导入了plist,但是lowercaseString行实际上没有做任何事情。
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]);
}
提前致谢。
编辑:好的,所以我NSLog了“内容”字符串,它给了我一个路径值,所以显然将其更改为lowercaseString将不会做任何事情。我觉得我必须访问字典中的字符串。
答案 0 :(得分:1)
这一行
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];
}