【Foundaton-10-3】#import <Foundation/NSArray.h>字符串操作


字符串操作

遍历

数组中追加

- (NSArray *)arrayByAddingObject:(id)anObject;

- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];
    arr2 = @[@"a",@"b",@"2",@"4"];
    
    
    NSArray *arr3 = [arr1 arrayByAddingObject:@"qq"];
    NSArray *arr4 = [arr1 arrayByAddingObjectsFromArray:arr2];

    
    NSLog(@"%@",arr3);
    NSLog(@"%@",arr4);
    

数组转字符串使用“”拼接

- (NSString *)componentsJoinedByString:(NSString *)separator;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];    

    NSString *str = [arr1 componentsJoinedByString:@"__"];
    
    NSLog(@"%@",str);


数组是否包含 obj

- (BOOL)containsObject:(id)anObject;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];    
    
    if ([arr1 containsObject:@"1"]) {
        NSLog(@"yes");
    }


2个数组第一个相同的 obj

- (id)firstObjectCommonWithArray:(NSArray *)otherArray;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];
    arr2 = @[@"a",@"b",@"2",@"4"];
    
    NSString *str1 = [arr1 firstObjectCommonWithArray:arr2];
    
    NSLog(@"%@",str1);


判断2个数组是否一致

- (BOOL)isEqualToArray:(NSArray *)otherArray;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];
    arr2 = @[@"a",@"b",@"2",@"4"];
    

    //判断
    if ([arr1 isEqual:arr2]) {
        NSLog(@"判断2个数组是否一致");
    }else{
        NSLog(@"不一样啊");
    }



快速获取头尾 obj

@property (nonatomic,readonly)id firstObjectNS_AVAILABLE(10_6,4_0);

@property (nonatomic,readonly)id lastObject;

    arr2 = @[@"a",@"b",@"2",@"4"];
    
    //快速取头尾 obj
    NSString *first = arr2.firstObject;
    NSString *last = arr2.lastObject;
    NSLog(@"%@",first);
    NSLog(@"%@",last);
    



获取数组中的某些数据,生产新数组

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];
    arr2 = @[@"a",@"b",@"2",@"4"];

    NSArray *arr3 = [arr1 subarrayWithRange:NSMakeRange(1, 2)];
    NSLog(@"%@",arr3);
    

    NSArray *arr4 = [arr1 objectsAtIndexes:[NSIndexSet indexSetWithIndex:2]];
    NSLog(@"%@",arr4);
    
    
    //c 的方法,arr[10];取第一个,阿西吧
    id aaa = [arr1 objectAtIndexedSubscript:1];
    
    NSLog(@"%@",aaa);



写入文件(app 里面的)

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

    arr1 = @[@"1",@"2",@"3",@"4",@"2"];    

    NSString *path = [[NSBundle mainBundle]pathForResource:@"testArray" ofType:@"plist"];
    [arr1 writeToFile:path atomically:YES];
    //arr1 writeToURL:<#(NSURL *)#> atomically:YES];
    
    NSLog(@"%@",path);
    


查找 obj 在数组中的位置

- (NSUInteger)indexOfObject:(id)anObject;

- (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;

- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject;

- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject inRange:(NSRange)range;

- (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange)r options:(NSBinarySearchingOptions)opts usingComparator:(NSComparator)cmp NS_AVAILABLE(10_6, 4_0); // binary search



    arr1 = @[@"1",@"2",@"3",@"4",@"2"];
    arr2 = @[@"a",@"b",@"2",@"4"];
    //比较内容
    NSUInteger path = [arr2 indexOfObject:@"a"];
    NSUInteger path2 = [arr2 indexOfObject:@"A" inRange:NSMakeRange(2, 2)];
    
    //比较指针
    NSUInteger path3 = [arr2 indexOfObjectIdenticalTo:@"a"];
    NSUInteger path4 = [arr2 indexOfObjectIdenticalTo:@"A" inRange:NSMakeRange(0, 3)];
    
    
    //排序之后的第 n 个,不懂!!!
    NSUInteger path33 = [arr1 indexOfObject:@"4" inSortedRange:NSMakeRange(0, 4) options:NSBinarySearchingInsertionIndex usingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSComparisonResult result = [obj1 compare:obj2];
        return result == NSOrderedDescending;//升序
        
    }];
    /*
     NSBinarySearchingFirstEqual = (1UL << 8),正数第二个
     NSBinarySearchingLastEqual = (1UL << 9),倒数第三个
     NSBinarySearchingInsertionIndex = (1UL << 10),插入位置?
     */


数组中每个obj 都执行方法(并赋值)

- (void)makeObjectsPerformSelector:(SEL)aSelector;

- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;

    
    UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(111, 111, 111, 111)];
    view1.backgroundColor =[UIColor redColor];
    [self.view addSubview:view1];
    
    UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(111, 333, 111, 111)];
    view2.backgroundColor = [UIColor greenColor];
    [self.view addSubview:view2];
    
    
     arr = @[view1,view2];
        
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    [arr makeObjectsPerformSelector:@selector(removeFromSuperview)];

}


    NSMutableString *str1 = [NSMutableString string];
    [str1 setString:@"1"];
    NSMutableString *str2 = [NSMutableString string];
    [str2 setString:@"2"];
    
    NSArray *arr = @[str1,str2];
    [arr makeObjectsPerformSelector:@selector(appendString:) withObject:@"???"];
    
    NSLog(@"%@",arr);











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值