0

我有这个代码并搜索了互联网,发现它没问题,但它不适合我

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    .....
    NSLog(@"%@",[dict objectForKey:@"STATUS"]);

    if ([[dict objectForKey:@"STATUS"] isEqualToString:@"Y"]) {

       NSLog(@"Done");

    }

NSLog 显示 Y 应该使用 if 语句

4

1 回答 1

3

当你这样做时:

 [dict setObject:[arr objectAtIndex:1] ...

我认为这是将字符串作为对象添加到字典中。NSLog 行正在工作,因为 NSLog 向它传递的每个对象发送“描述”消息以将其转换为其字符串值。你可以做同样的事情。

尝试改变这个:

if ([[dict objectForKey:@"STATUS"] isEqualToString:@"Y"])

对此:

if ([[[dict objectForKey:@"STATUS"] description] isEqualToString:@"Y"]) 

这将在进行比较之前获得 objectForKey: 返回的对象的字符串值。

如果您认为可能有一个空格会影响比较,请在比较之前修剪字符串,如下所示:

if ([[[dict objectForKey:@"STATUS"] stringByTrimmingCharactersInSet:
    [NSCharacterSet whitespaceAndNewlineCharacterSet]] isEqualToString:@"Y"])
于 2012-09-09T22:29:42.447 回答