我使用此方法从Xcode访问我的mysql数据库:
NSString * URL = [NSString stringWithFormat:@ “HTTP://test.test:8888 /测试/ loadUserData.php用户名=%@”, 用户名];
NSString * rawJSON = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:URL]];
const char * convert = [rawJSON UTF8字符串]; NSString * responseString = [NSString stringWithUTF8String:convert];
if([rawJSON length] == 0){ [rawJSON release];
}
SBJsonParser * parser = [[SBJsonParser alloc] init];
userInfo = [[解析器 objectWithString:responseString 错误:nil] copy]; SSN = [userInfo objectAtIndex:0];
[解析器发布];
返回userInfo;
一切都很好。除了我无法将结果中的字符串与普通的nsstrings进行比较。如果我说
if([userinfo objectAtIndex:0)== @“Dan”) { ..做一点事 }
Xcode从未看到它是相同的值.. 我不知道格式是否有问题(我的数据库是UTF-8) 我如何转换结果,以便xCode可以将响应与NSStrings进行比较?
谢谢!
答案 0 :(得分:1)
==
不会比较字符串的值,只是比较它们的地址。
使用
if ([[userinfo objectAtIndex:0] isEqualToString:@"Dan"]) { ... }
或类似的东西。
答案 1 :(得分:1)
如果您确定在条件的两侧都有字符串数据,则可以使用
if ([userinfo objectAtIndex:0] isEqualToString:@"Dan") {
// summat...
}