ios 开发 OC编程 块语法bolck的一些应用
//
// main.m
// oc - 07 block作业
//
// Created by dllo on 15/11/3.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//1 定义一个block,返回值为BOOL,有两个NSString参数。实现:判断字符串是否相等
// BOOL(^block)(NSString *, NSString *) = ^(NSString *a, NSString *b) {
// if ([a isEqualToString:b]) {
// return YES;
// }
// return NO;
// };
// int ret = block(@"nihao", @"nihao");
// NSLog(@"%d", ret);
// 2 定义一个block,返回值为NSInteger,有两个参数,一个是NSArray,一个是NSString。实现:判断数组时候包含此字符串,如果包含,返回字符串的下标,如果不包括,返回-1
// NSArray *arr = [[NSArray alloc]initWithObjects:@"niha",@"buhao", @"nihao", nil];
// NSString *b = @"nihao";
// NSInteger(^block1)(NSArray *, NSString *) = ^(NSArray *arr, NSString *b) {
// for (NSInteger i = 0; i < arr.count; i++) {
// if ([[arr objectAtIndex:i] isEqualToString:b]) {
// NSInteger b = i;
// return b;
// }
// }
// return (NSInteger)-1;
// };
// NSInteger ret1 = block1(arr, b);
// NSLog(@"%ld", ret1);
// 3 创建一个数组,初始化为@“123",@"21",@"33",@"69", @“108”, @“256”。使用Block语法,进行数组的排序。并输出内容。
// 排序结果:108 123 21 256 33 69
//
// 提示:sortedArrayWithOptions:usingComparator:
//可变的数组
// NSMutableArray *arr = [[NSMutableArray alloc]initWithObjects:@"123", @"21", @"33", @"69", @"108", @"256", nil];
// [arr sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
// return [(NSString *)obj1 compare:(NSString *)obj2];
//
// }];
// NSLog(@"%@",arr);
//不可变的数组
// NSArray *arr = [[NSArray alloc]initWithObjects:@"123", @"21", @"33", @"69", @"108", @"256", nil];
// NSArray *b =[arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
//
// return [(NSString *)obj1 compare:(NSString *)obj2];
//
// }];
//
// NSLog(@"%@", b);
return 0;
}