美文网首页
Objective-C 中比较相等的操作

Objective-C 中比较相等的操作

作者: 张科_Zack | 来源:发表于2021-08-16 15:06 被阅读0次

    用标准 C 库中的 == 运算符来比较是否两个指针指向内存中的同一个对象。

    请参考以下例子:

        NSString *string1 = @"123";
        NSString *string2 = @"123";
        NSMutableString *string3 = [NSMutableString stringWithString:@"123"];
        
        if (string1 == string2) {
            NSLog(@"NSString 相同字符串指向同一块内存区域");
        }
        
        if (string1 == string3 ) {
            
        } else {
            NSLog(@"NSString, NSMutableString 相同字符串指向不同的内存区域");
        }
    

    输出

    2021-08-16 14:53:46.525469+0800 Component[44899:2012399] NSString 相同字符串指向同一块内存区域
    2021-08-16 14:53:46.525638+0800 Component[44899:2012399] NSString, NSMutableString 相同字符串指向不同的内存区域
    

    使用 NSObject 中的 - (BOOL)isEqual:(id)object;方法来确定不同对象是否呈现相同的值。

    例如

        NSString *string1 = @"123";
        NSString *string2 = @"123";
        NSMutableString *string3 = [NSMutableString stringWithString:@"123"];
        
        if ([string1 isEqual:string2] && [string1 isEqual:string3]) {
            NSLog(@"isEqual 用来确定不同对象是否呈现相同的值");
        }
    

    输出

    2021-08-16 14:57:34.613874+0800 Component[44981:2016568] isEqual 用来确定不同对象是否呈现相同的值
    

    相关文章

      网友评论

          本文标题:Objective-C 中比较相等的操作

          本文链接:https://www.haomeiwen.com/subject/ipimbltx.html