iOS if else语句不起作用

时间:2013-05-05 21:30:34

标签: ios if-statement

我有两个字符串。这个字符串不相等,但如果else语句总是说是。

我的代码是这些;

 PFQuery *bilquery = [PFQuery queryWithClassName:@"Bildirim"];
    PFObject *saat = [bilquery getObjectWithId:@"lQTsXaBvuq"];
    NSString *asd = [saat objectForKey:@"gun"]; //asd is 06 or 07.

    NSDate *currDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"dd"];
    NSString *dateString = [dateFormatter stringFromDate:currDate];
    int d = [dateString intValue] + 1;
    NSString *dplus1 = [NSString stringWithFormat:@"%d",d];
    if ((dateString = asd)) {
        NSLog(@"YES");
    } else {
       NSLog(@"NO");
       // Bla bla bla

    }

我的解析数据库中的NSString asd。 if else语句中我的正确位置在哪里?

2 个答案:

答案 0 :(得分:3)

if ((dateString = asd)) 

当您使用单asd时,您将dateString分配给=。 与==进行比较。

但由于NSString个实例是指针,因此您无法使用==来比较字符串值。
使用:

if( [ str1 isEqualToString: str2 ] )

话虽这么说,我认为你应该花点时间学习一些Objective-C基础知识......

答案 1 :(得分:1)

=不是测试相等性的运算符。

==测试是否相等,但由于你使用指针,这仍然是不正确的。

有关详细信息(Checking for equality in Objective-C),请参阅此答案,但您需要使用此测试:

if([dateString isEqualToString:asd])