-7

我有两个字符串。这个字符串不相等,但 if 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 语句中我的正确之处在哪里?

4

2 回答 2

3
if ((dateString = asd)) 

在这里您分配asddateString,因为您使用单个=.
与 进行比较==

但由于NSString实例是指针,您不能使用它==来比较字符串值。
利用:

if( [ str1 isEqualToString: str2 ] )

话虽如此,我认为你真的应该花一些时间来学习一些 Objective-C 基础知识......

于 2013-05-05T21:35:45.280 回答
1

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

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

有关更多详细信息,请参见此答案(在 Objective-C 中检查相等性),但您需要使用此测试:

if([dateString isEqualToString:asd])

于 2013-05-05T21:35:03.107 回答