gpt4 book ai didi

objective-c - 从属性列表中读取 NSDictionary 键

转载 作者:行者123 更新时间:2023-12-03 16:25:05 24 4
gpt4 key购买 nike

在我的项目中,我使用 propertyList 来维护数据。 plist 文件名为“DataBase.plist”。 DataBase.plist 的根是一本字典,其中包含 5 个字典作为子项...现在子字典包含 4 个字符串,其中一个始终是带有键“URL”的网址(不带引号)...我正在运行以下代码来提取此 URL 键的值,但它不起作用..

NSString *path = [[NSBundle mainBundle] pathForResource:@"DataBase" ofType:@"plist"];
NSDictionary *rootDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSString *URLforAll = [[NSString alloc] init];
for (id key in rootDict)
{
if(key == rowString)
{
NSDictionary *dict = [rootDict objectForKey:key];
URLforAll = [dict objectForKey:@"URL"];
}
}

行字符串是一个字符串,其值与所选单元格中的文本相同(我已经测试过,它是准确的)。如果可以的话请帮助我......我将不胜感激

最佳答案

尝试使用[key isEqualToString: rowString],而不是直接使用==比较key和rowString。我认为 == 比较的是对象的指针值,即使字符串匹配,指针值也不会相等。

另外 - 顺便说一句,您不需要在设置 URLforAll 之前对其进行初始化。当您将其设置为等于 [dict objectForKey:@"URL"] 时,您会丢失指向已创建对象的指针,并且该对象将会泄漏。相反,只需说 NSString *URLforAll = nil;或者创建一个新字符串并autorelease它,以便自动清理该对象:

NSString * URLforAll = [[[NSString alloc] init] autorelease];

关于objective-c - 从属性列表中读取 NSDictionary 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1023175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com