Iphone 如何比较char*和NSString?

Iphone 如何比较char*和NSString?,iphone,objective-c,ios,Iphone,Objective C,Ios,您好,我正在比较数据库中的用户名(char*)和UITextField中的用户名(NSString*)。如何做到这一点。 下面是我的代码 if ([UserName isEqual:(char *)sqlite3_column_text(statement, 0)]) { NSLog(@"User Already Exists."); flag = YES; return; } 但它从未进入循环,尽管我给出的用户名与数据库中的用户名相同。假设以下是您拥有的NSStri

您好,我正在比较数据库中的用户名(char*)和UITextField中的用户名(NSString*)。如何做到这一点。 下面是我的代码

if ([UserName isEqual:(char *)sqlite3_column_text(statement, 0)]) {

    NSLog(@"User Already Exists.");
    flag = YES;
    return;
}
但它从未进入循环,尽管我给出的用户名与数据库中的用户名相同。

假设以下是您拥有的NSString

NSString *userName = @"SomeOnesName";
从DB中获取C字符串并将其转换为NSString

现在比较一下

if ([userName isEqualToString:userNameFromDB]) {

您忽略了潜在的编码问题。这更好:)只要它在UTF-8中的数据库中,如果您在UTF-8中有数据库,您也可以使用
[NSString stringWithUTF8String:
将const char*转换为NSString
if ([userName isEqualToString:userNameFromDB]) {