字符串操作
遍历
数组中追加
- (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);
- (BOOL)isEqualToArray:(NSArray *)otherArray;
arr1 = @[@"1",@"2",@"3",@"4",@"2"];
arr2 = @[@"a",@"b",@"2",@"4"];
//判断
if ([arr1 isEqual:arr2]) {
NSLog(@"判断2个数组是否一致");
}else{
NSLog(@"不一样啊");
}
@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);