IOS中block 的使用(二)
<div id="cnblogs_post_body">在第一篇文章中,我介绍了创建block变量的基本知识,__block修改和使用,typedef定义block。在这篇文章中,我将告诉你怎么可以把block作为参数,使用枚举block,以及快速浏览一下block和递归。作为参数传block
iOS框架内的数量,方法中所提供接受一个block作为参数。因为它涉及到block,这是一个事情开始变得有趣了,你会得到一个角度上提供了一些独特的功能。
例如,下面的代码中,我创建了一个String对象的数组,没有什么新东西。然而,在iOS 4 + NSArray中现在包括一个方法来创建一个集合(NSSet)对象的数组,通过一个indexesOfObjectsPassingTest方法。我写检查的block长度的数组中的每个对象(每个对象是在这个例子中的字符串),并返回YES,只对那些对象的字符串长度大于5。
<div class="wp_syntax"><div class="code"><div class="cnblogs_code">// Create an arrayNSArray *array = @"12345", @"12345678", @"abcd", @"123abc", nil]; // Create a set (an unordered collection of objects) with the indexes of the objects// in the array where the length of the object in the array is > 5.// Notice the parameter is a block.NSIndexSet *set = id obj, NSUInteger idx, BOOL *stop){ if ( > 5) return YES;else return NO;}];
页:
[1]