2012-11-06 142 views
1

所以我一直在試圖比較xcode中的兩個NSString。但是,它不起作用。我究竟做錯了什麼?比較兩個nsstrings的值

的NSString PROG是是XML從MySQL

char *cStr = "YES"; 
     NSString *str3 = [NSString stringWithUTF8String:cStr]; 
     if ([str3 isEqualToString:prog]) { 
      [switch1 setOn:YES animated:YES]; 
     } 
     else { 
      [switch1 setOn:NO animated:YES]; 
     } 
+0

你'cStr' char是 「YES」,如果'prog'等於YES或NO,你應該考慮使用BOOL代替。 –

+0

不幸的是,我不能在這種特殊情況下使用bool。如果編是或否,我希望它做一個命令。但它不起作用。 – user1776234

+0

當然,在這個例子中,不需要執行'stringWithUTF8String'。它可以簡單地'if([@「YES」isEqualToString:prog])。但我會假定C字符串是從別的地方來的,這就是爲什麼你需要這個構造? –

回答

8

-[NSString isEqualToString:]解析通常你會用什麼,您使用的是這樣的情景是什麼人物。確保prog是有效的NSString(例如,正確類型而不是nil),並且請記住,在此實現中的字符串比較是區分大小寫的 - 即"Yes"將不等於"YES"

0

使用下面的方法來比較兩個NSString的:

[yourString isEqualToString:@"testString"]