1

大家好,我尝试检查我的 plist 文件中的单行 STRING,在我的详细视图中,我需要实现一个 IF,例如:

NSString *data = [[NSBundle mainBundle] pathForResource:@"name" ofType:@"plist"];
NSMutableDictionary *dataDict = [[NSMutableDictionary alloc] initWithContentsOfFile:data];
self.myMutableDictionary = dataDict;


    if (name.text == [myMutableDictionary objectForKey:@"emittente"]){

        UIImage *image = [UIImage imageNamed:@"star_on.png"];
        [Star setImage:image];

    } else {

        UIImage *favImg = [UIImage imageNamed:@"star_Off.png"];
        [Star setImage:favImg];

    }

但是dosent工作,我认为没有在plist文件中阅读,有什么想法或方法吗?

谢谢。

4

1 回答 1

0

实际上,您的代码看起来几乎没问题。只需检查以下内容:

您的 plist 是否包含@"emittente" 顶层的密钥?如果没有,您必须降低您的字典或数组才能到达正确的级别。

此外,您正在比较 if 语句中的指针,而不是字符串。改用这个:

if ([name.text isEqualToString:myMutableDictionary[@"emittente"]) ...

顺便说一句:您不应该使用大写的实例变量名称。

于 2013-03-29T13:03:26.397 回答