我有两个字符串。这个字符串不相等,但如果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语句中我的正确位置在哪里?
答案 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])