//定义一个block,返回值是BOOL,有两个NSString参数,实现:判断字符串是否相等;
// NSString *str1 = @"js";
// NSString *str2 = @"jsrrr";
// BOOL (^block) (NSString *, NSString *) = ^(NSString* str1,NSString * str2){
// return [str1 isEqualToString:str2];
// };
// NSLog(@"%hhd",block(str1,str2));
// NSComparisonResult (^sortBlock)(id, id) = ^(id obj1, id obj2){
// //默认升序
// NSString *str1 = obj1;
// NSString *str2 = obj2;
// return [str1 compare: str2];
// };
// NSLog(@"%ld", sortBlock(str1,str2));
//定义一个block,返回值为NSInteger,有两个参数,一个是NSArray,一个是NSString.实现:判断数组是否包含此字符串,如果包含,返回字符串的下标,如果不包含 ,返回-1.
NSArray *arr1 = [NSArray arrayWithObjects:@"laoda",@"laoer",@"laosan", @"laosi",nil];
NSString *str3 = [NSString stringWithFormat:@"laosn"];
//方式一:
BOOL (^block)(NSArray *, NSString *) = ^ BOOL (NSArray *arr1, NSString *str3){
for (int i = 0; i < [arr1 count]; i ++) {
if ([arr1[i] isEqualToString:str3]) {
return i;
}
}
return -1;
};
NSLog(@"%hhd", block(arr1, str3));
//方式二:
int (^block1) (NSArray *, NSString *) = ^(NSArray *array, NSString * string){
if ([array containsObject:string]) {
return (int) [array indexOfObject:string];
}
return -1;
};
NSLog(@"%d", block1(arr1, @"ss"));
NSLog(@"%d", block(arr1,str3));
//创建一个数组,初始化为@"123", @"21" ,@"33", @"69", @"108", @"256",使用block语法进行数组的排序,并输出内容,
//排序结果,:108 123 21 256 33 69
//提示:sortedArrayWithOptions:usingComparator;
/* NSArray *arr2 = [NSArray arrayWithObjects:@"123", @"21" ,@"33", @"69", @"108", @"256", nil];
arr2 = [arr2 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSString *s1 = obj1;
NSString *s2 = obj2;
if ([s1 compare:s2] == 1) {
return NSOrderedDescending;
}
else if ([s1 compare:s2] == -1){
return NSOrderedAscending;
}else {
return NSOrderedSame;
}
}];
NSLog(@"%@" ,arr2);
*/
/*
NSArray *arr3 = @[@"123", @"21" ,@"33", @"69", @"108", @"256"];
arr3 = [arr3 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSString *str3 = obj1;
NSString *str4 = obj2;
if ([str3 isEqualToString:str4] == 1) {
return NSOrderedDescending;
} else if([str3 isEqualToString:str4] == -1 ){
return NSOrderedAscending;
}else{
return NSOrderedSame;
}
}];
*/
NSArray *arr4 = @[@123,@21 ,@33,@69,@108,@256];
arr4 = [arr4 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if (obj1 < obj2){
return NSOrderedAscending;
}else if (obj1 > obj2){
return NSOrderedDescending;
}else{
return NSOrderedSame;
};
}];
NSLog(@"%@", arr4);
/* arr4 = [arr4 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSString *str1 = obj1;
NSString *str2 = obj2;
if ([str1 isEqualToString:str2] == 1) {
return NSOrderedDescending;
}else if ([str1 isEqualToString:str2] == -1){
return NSOrderedAscending;
}else{
return NSOrderedSame;
}
}];
*/
//预习categroy .extension he Protocol;