1

我想知道是否有一种简单的方法可以将 const char 与 an 进行比较NSString,还是我必须NSString在做之前将 const char 转换为 an ?

我一直在浏览 Apple 文档,但很难找到我问题的答案。

4

3 回答 3

12

任何一个

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);
于 2013-02-28T21:24:32.430 回答
4

更好的是:

 [str isEqualToString: @(myChar) ];

这并不比强制转换差,因为类型是不可通约的,所以你肯定需要它。

于 2013-02-28T21:35:58.370 回答
0

您正在比较两种不同的事物,因此您必须将一种转换为另一种。转换哪种方式取决于您。

于 2013-02-28T21:24:25.183 回答