oc 菜鸟之NSSet 的一些方法

103 阅读1分钟
int main(int argc, const char * argv[]) {
    @autoreleasepool {
  
        NSSet* set1 = [NSSet setWithObjects:@"疯狂ios讲义",@"疯狂讲义",@"疯狂Android讲义", nil];
        //追加一个元素生成新的set 不会影响原有的set
        NSSet* set2 = [set1 setByAddingObject:@"疯狂奖励"];
        
        NSLog(@"set1长度%1d",set1.count);
        NSLog(@"set2长度%1d",set2.count);
        //合并两个set
        NSSet* set3 = [set1 setByAddingObjectsFromSet:set2];
        NSLog(@"set3长度%1d",set3.count);
        
        BOOL a = [set1 intersectsSet: set2];
        NSLog(@"set1 与 set2 有交集吗:%d",a);
        
        BOOL b = [set1 isSubsetOfSet: set2];
        NSLog(@"set1 是 set2 的子集吗:%d",b);
        
        BOOL isContains = [set1 containsObject:@"疯狂ios讲义"];
        NSLog(@"set1包含这个元素吗:%d",isContains);
        
        NSSet* result = [set1 objectsPassingTest:^BOOL(id  _Nonnull obj, BOOL * _Nonnull stop) {
            return [obj containsString:@"Android"];
        }];
        NSLog(@"过滤后的结果%d",result.count);
    }
    return 0;
}