/*定义一个block,返回值为BOOL,有两个NSString参数。实现:判断字符串是否相等。*/
if 1
BOOL (^block)(NSString *a, NSString *b) = ^BOOL(NSString *a, NSString *b) {
// return [a compare:b];
return [a isEqualToString:b];
};
NSLog(@"是否相等: %d", block(@"asd", @"asd"));
endif
/*定义一个block,返回值为NSInteger,有两个参数,一个是NSArray,一个是NSString。实现:判断数组时候包含此字符串,如果包含,返回字符串的下标,如果不包括,返回-1。*/
NSInteger (^block1)(NSArray *arr, NSString *str) = ^NSInteger (NSArray *arr, NSString *str) {
NSInteger i = 0;
if ([arr containsObject:str]) {
// NSLog(@"包含");
// NSLog(@"下标是:%ld", [arr indexOfObject:str]);
i = [arr indexOfObject:str];
return i;
} else {
return -1;
}
return 0;
};
NSArray *strArr = @[@"asd", @"sdd", @"YIem", @"YI", @"ccb", @"Ace"];
NSString *strStr = @"YIem";
NSLog(@"%ld",block1(strArr, strStr ));