相关疑难解决方法(0)

比较两个NSStrings

在我的应用程序中,有一种机制要求在某个时刻两个NSStrings将是相同的做某事; 出于某种原因,当我比较两者时,即使它们是相同的,它仍然无法识别.代码是这样的:

NSString * aString = [self someMethodThatGetsAString];

NSString * bString;

BOOL areStringsTheSame = NO;

while (areStringsTheSame != YES) {

       bString = [self someMethodThatTakesNSStringsFromAnArrey];
       if (bString == aString) {
             areStringsTheSame = YES;
       { }
Run Code Online (Sandbox Code Playgroud)

我甚至插入了一个NSLog(),并确保在某一点它们是相同的(据我所知这是==代表...),但它仍然没有进入if改变BOOL价值.

还有另一种方法可以进行这种比较吗?我错过了什么吗?

cocoa-touch string-comparison nsstring

20
推荐指数
2
解决办法
4万
查看次数

比较Cocoa中的字符串

我试过了:

- (NSString*) generateString
{
    NSString* stringToReturn = @"thisString";
    return stringToReturn;
}

- (void) otherMethod
{
    NSString *returnedString = [self generateString];
    if (returnedString == @"thisString")
    { // Do this }
    else if (returnedString == @"thatString")
    { // Do that }
}
Run Code Online (Sandbox Code Playgroud)

哪个从不匹配.

我试过了

if ([returnedString compare:@"thisString"] == 1)
Run Code Online (Sandbox Code Playgroud)

但是compare方法总是为我返回1,即使与不同的字符串进行比较也是如此.

这样做的正确方法是什么,我应该得到什么结果?

cocoa compare objective-c nsstring

18
推荐指数
4
解决办法
3万
查看次数