我想知道是否有一种简单的方法可以将 const char 与 an 进行比较NSString
,还是我必须NSString
在做之前将 const char 转换为 an ?
我一直在浏览 Apple 文档,但很难找到我问题的答案。
我想知道是否有一种简单的方法可以将 const char 与 an 进行比较NSString
,还是我必须NSString
在做之前将 const char 转换为 an ?
我一直在浏览 Apple 文档,但很难找到我问题的答案。
任何一个
NSString *str = @"string";
const char *myChar = "some string";
if (strcmp(myChar, str.UTF8String))
或者
[str isEqualToString:[NSString stringWithUTF8String:myChar]];
核心基础路线也是一种选择:
CFStringRef myStr = CFSTR("some chars");
bool result = CFStringCompareWithOptions(myStr, ((__bridge CFStringRef)str),CFRangeMake(0,CFStringGetLength(myStr)), kCFCompareCaseInsensitive);
更好的是:
[str isEqualToString: @(myChar) ];
这并不比强制转换差,因为类型是不可通约的,所以你肯定需要它。
您正在比较两种不同的事物,因此您必须将一种转换为另一种。转换哪种方式取决于您。