我希望调用[NSString compare:options:range:]方法,并且不传选项参数。
那么应该给选项参数提供什么值呢?
无论是使用nil还是NULL,在Xcode中都会产生警告:"不兼容指针转换,将'void *'发送到类型为...的参数"。
那么应该给选项参数提供什么值呢?
无论是使用nil还是NULL,在Xcode中都会产生警告:"不兼容指针转换,将'void *'发送到类型为...的参数"。
只需传递0
。或者,如果您对Mac有一定的了解,您可能会发现自己传递了kNilOptions
,它只是0
的另一个名称,但意味着相关的标志。
你应该传递0
。 options
参数是一个位掩码,实际上只是一个整数。这也是为什么警告说“整数转换”的原因。
options
参数的类型,你会发现它通常只是NSUInteger
的一个typedef。 - Lily Ballard正如苹果文档所述:
搜索选项 - 您可以使用 C 位或运算符组合以下任何选项:NSCaseInsensitiveSearch、NSLiteralSearch、NSNumericSearch。有关这些选项的详细信息,请参见字符串编程指南。
NSCaseInsensitiveSearch
:不区分大小写的搜索。
NSLiteralSearch
:精确的逐字符等价。
NSNumericSearch
:在字符串中比较数字值,即 Name2.txt < Name7.txt < Name25.txt。