美文网首页
NSArray equal: 方法比较的是什么

NSArray equal: 方法比较的是什么

作者: 柠檬草YF | 来源:发表于2019-05-31 17:52 被阅读0次

    笔记记录

    NSArray *array1 = @[@"1",@"2",@"3"];
    NSArray *array2 = @[@"1",@"2",@"3"];
    NSArray *array3 = array1;
    
    NSMutableArray *array4 = @[@"1",@"2",@"3"].mutableCopy;
    NSMutableArray *array5 = @[@"1",@"2",@"3"].mutableCopy;
    NSMutableArray *array6 = array4;
    
        
    NSArray *array7 = array1;
    
    NSArray *array8 = @[@"1",@"2"];
    NSMutableArray *array9 = @[@"1",@"2"].mutableCopy;
    
        
    NSLog(@"%@",@([array1 isEqual:array2]));
    NSLog(@"%@",@([array1 isEqual:array3]));
    
    NSLog(@"%@",@([array4 isEqual:array5]));
    NSLog(@"%@",@([array6 isEqual:array3]));
        
    NSLog(@"%@",@([array7 isEqual:array6]));
    NSLog(@"%@",@([array8 isEqual:array1]));
    NSLog(@"%@",@([array9 isEqual:array4]));
    

    打印结果

    1
    1
    
    1
    1
    
    1
    0
    0
    

    由此可见 NSArray 和 NSMutableArray 的 equal: 方法 是比较的 数组里面 每个元素是否相等,跟地址 ,可变数组,不可变数组 没关系

    数组 equal: 方法伪代码

    - (BOOL)isEqualArray:(NSArray *)array {
        
        for (id selfObject in self) {
            for (id otherObject in array) {
                if ([selfObject isEqual:otherObject] == NO) {
                    return NO;
                }
            }
        }
        return YES;
    }
    

    相关文章

      网友评论

          本文标题:NSArray equal: 方法比较的是什么

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