1、截取数组:
NSArray *arr2 = [arr subarrayWithRange:NSMakeRange(0, 4)];
NSInteger index = [arr indexOfObject:<#(nonnull id)#>];
[arr makeObjectsPerformSelector:@selector(@"testSelector") withObject:@"test"];
4、数组拼接成字符串
NSString *string = [arr componentsJoinedByString:@"=="];
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
Student *st = (Student *)obj;
//设定一个条件 跳出遍历
if(idx < 5){
*stop = YES;
}
NSLog(@"姓名:%@\n年龄:%@\n工龄:%@",st.name,st.age,st.workYear);]
6、数组排序
//这得到的一个新的数组 原数组未改变
NSArray *orderArr = [arr sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
Student *st1 = (Student *)obj1;
Student *st2 = (Student *)obj2;
NSComparisonResult result = [st1.age compare:st2.age];//此表示升序按年龄的生序进行排列
// NSComparisonResult result = [st2.age compare:st1.age];//此表示降序
//遇到相同的 再按工龄升序排列
if (result == NSOrderedSame) {
result = [st1.workYear compare:st2.workYear];
}
return result;
}];
//这表示对原数组额重新排列
[arr sortUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
Student *st1 = (Student *)obj1;
Student *st2 = (Student *)obj2;
NSComparisonResult result = [st2.age compare:st1.age];
if (result == NSOrderedSame) {
result = [st1.workYear compare:st2.workYear];
}
return result;
}];
//排序的条件 表示按照年龄的升序 其次按照工龄的降序排列
NSSortDescriptor *ageDescriptor = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:YES];
NSSortDescriptor *workAge = [[NSSortDescriptor alloc] initWithKey:@"workYear" ascending:NO];
NSArray *sortArr = @[ageDescriptor,workAge];
[arr sortUsingDescriptors:sortArr];