(原)使用block遍历元素的简明思路及实现

使用block遍历元素的简明思路及实现

转出“博客园”,请您注明出处:http://www.cnblogs.com/xiaobajiu/p/4116503.html

NSArray这样的对象会有除了for遍历以外的block遍历方法如下:

[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    //遍历每个元素
}];

[arr2 indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    //..
}];

enumerateObjectsUsingBlock这样子的实现思路如下:

//
//  QArray.m
//

#import "QArray.h"

@implementation QArray
- (void)enumeratQArrayWithBlock:(void(^)(id obj, NSUInteger idx, BOOL *stop))block
{
    NSUInteger len= self.dataArr.count;
    BOOL tStop = NO;
    for(int i=0; i<len; i++){
        if(tStop)
            break;
        block(_dataArr[i],i,&tStop);
    }
}
@end
时间: 2024-10-29 18:33:19

(原)使用block遍历元素的简明思路及实现的相关文章

oc block 遍历数组及字典

原遍历数组NSArray * lines = ...for (NSString * line in lines) { // ...}for (int i = 0; i < lines.count; ++i) { NSString * s = [lines objectAtIndex:i]; ...} 原遍历字典 NSDictionary * dict = … NSArray * keys = [dict allKeys]; for (NSString * key in keys) { NSStr

Java学习之Xml系列一:初始步骤、查询元素及属性、遍历元素

话不多说,全在代码和注释说明里了. DTD文件:SwordTypeDefinition.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT SwordLibrary (Sword*)> <!ELEMENT Sword (SwordName,Price,Attack)> <!ELEMENT SwordName (#PCDATA)> <!ELEMENT Price

跟王老师学集合(四):使用foreach循环遍历元素

使用foreach循环遍历元素 主讲人:王少华  QQ群号:483773664 学习目标: 1.掌握使用foreach循环遍历元素 JDK1.5及以后的版本,可以通过foreach来迭代访问集合元素. 一.使用foreach来遍历狗狗集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class Test {     public static void main(String[] args) {         

使用each()方法遍历元素

使用each()方法遍历元素 使用each()方法可以遍历指定的元素集合,在遍历时,通过回调函数返回遍历元素的序列号,它的调用格式为: $(selector).each(function(index)) 参数function为遍历时的回调函数,index为遍历元素的序列号,它从0开始. 例如,遍历页面中的<span>元素,当元素的序列号为2时,添加名为“focus”的样式,如下图所示: 在浏览器中显示的效果: 从图中可以看出,在使用each()方法遍历<span>元素时,回调函数中

使用for、forin和block遍历NSArray的效率的比较

代码: #import <Foundation/Foundation.h> extern uint64_t dispatch_benchmark(size_t count, void (^block)(void)); void processNumber(NSNumber *n); int main(int argc, const char * argv[]) { @autoreleasepool { // 创建一个数组并用随机数填充 NSUInteger const capacity = 1

集合嵌套存储和遍历元素的示例

1 /** 2 * @Auther: lzy 3 * @Date: 2018/12/12 16:07 4 * @Description: 集合嵌套存储和遍历元素的示例 5 */ 6 public class ListTest { 7 public static void main(String[] args) { 8 //创建大集合 9 ArrayList<ArrayList<Student>> bigArrayList = new ArrayList<ArrayList&l

JQ 遍历元素并给相应元素增加class

应用帝国后台做公共模板时,需要公共导航栏点击后,加载到对应的栏目列表,同时该栏目导航项添加背景class 思路:使用location.href获取到当前页链接,使用split切割获取的链接字符串,使用切割后得到的关键词匹配对应栏目class,遍历该class,同时给该class增加对应样式 重点:1.location.href 2.str.split('syb') 3.$el.each(function(){}) <div class="menu_scroll"> <

Jquery遍历元素

页面中所有的checkBox遍历: <script type="text/javascript" src="/jquery/jquery.js"></script>1 $("input:button").click(function(){ 2 $("input:checkbox").each(function(){ 3 alert($(this).attr("checked"));

Jquery遍历元素是否存在

说明:以下代码作用是为了一直扫描网页中是否存在所查找的元素,一直遍历循环查找! $(function () { jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if