For循环不会执行

响尾蛇99

以下代码不会循环:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"Inside method, before for loop");

    NSLog(@"dayBarArray.count = %lu", (unsigned long)dayBarArray.count);

    for (int i = 0; i < dayBarArray.count; i++) //*** I've tried it this way

//    for (DayChartBar *bar in dayBarArray) //*** I've tried it this way
    {
        NSLog(@"Inside for loop");

        DayChartBar *bar = [dayBarArray objectAtIndex:i];

        UIView *thisLabel = [self.scroller viewWithTag:(bar.tag + 100)];

        CGRect visibleRect;
        visibleRect.origin = self.scroller.frame.origin;
        visibleRect.size = self.scroller.bounds.size;

        NSLog(@"bar.frame = %@",NSStringFromCGRect(bar.frame));
        NSLog(@"visibleRect.frame = %@",NSStringFromCGRect(visibleRect));

        if (CGRectIntersectsRect(visibleRect,bar.frame))
        {
            NSLog(@"Inside if statement");

            CGRect intersection = CGRectIntersection(visibleRect,bar.frame);
            NSLog(@"bar.Frame is %@",NSStringFromCGRect(bar.frame));

            thisLabel.center = CGPointMake((thisLabel.center.x), CGRectGetMidY(intersection));
        }

        else
        {
            thisLabel.center = thisLabel.center;
            NSLog(@"Inside else statement");
        }
    }
    NSLog(@"Still inside method, after for loop");

}

这是具有战略意义的NSLog声明的结果

2014-08-17 10:07:37.221 WMDGx[54442:90b] Inside method, before for loop
2014-08-17 10:07:37.222 WMDGx[54442:90b] dayBarArray.count = 0
2014-08-17 10:07:37.223 WMDGx[54442:90b] Still inside method, after for loop

如您所见,我尝试了传统for loop枚举和快速枚举。都不会执行。NSLogs指示的那样,无论我采用哪种方法,我都输入方法,但跳过循环。

我很确定自己写的代码很不错,因为我在同一应用程序的许多其他地方都成功使用了非常相似的语法(两种类型)。是的,我已经研究了数十个关于SO的类似问题,还查阅了有关Objective Cfor循环的基本文章,但没有解决方案。

和往常一样,我很可能犯了一个愚蠢的错误,但是如果是这样,那就让我难以捉摸。for循环内的代码(为了UILabel响应相关联的滚动,我正在尝试重新定位UIView)可能无关紧要,但为了以防万一,我将其包括在内。

所有帮助和意见表示赞赏!

编辑:

如下所述,此问题的答案是相关的dayBarArray为空。我只是检查了添加对象的代码,并感到困惑。我当然应该已经在我的NSLogs中看到了明显的答案,并且没有任何借口,除了我之前已经检查过添加代码并且似乎已添加了条形图。当我弄清楚那里有什么问题时,我会报告。

第二编辑:

好的,这对我来说是一个愚蠢的错误-我尚未初始化数组。一样,如果我没有发布问题,并且由于我认为我已经检查了数组的内容(实际上,我正在检查是否已将标签应用于UIViews),我不知道它将持续多长时间带我意识到原木在告诉我什么。感谢所有回答!

道格拉斯

dayBarArray.count为零,循环中的条件为i < dayBarArray.count在进入循环主体之前,它会测试0 < 0,这是错误的,因此它永远不会进入主体。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不会退出执行循环

来自分类Dev

foreach循环不会继续执行

来自分类Dev

PHP:For循环将不会执行

来自分类Dev

类中的while循环不会执行c ++

来自分类Dev

内部嵌套的while循环不会执行

来自分类Dev

循环不会在R中执行

来自分类Dev

如何在Javascript中执行不会阻塞UI的循环?

来自分类Dev

“执行While循环”操作不会跳过该文件

来自分类Dev

Java程序循环不会执行并提示用户吗?

来自分类Dev

执行bash脚本循环而不会错误退出

来自分类Dev

即使语句已正确关闭,循环也不会执行错误

来自分类Dev

同时执行循环不会在C中退出

来自分类Dev

循环不会在python程序中执行

来自分类Dev

在 Reactjs 中,在执行嵌套循环时不会渲染任何内容

来自分类Dev

当循环条件为假时,脚本执行不会停止

来自分类Dev

使用 promise 循环后不会执行任何代码

来自分类Dev

While循环与循环执行

来自分类Dev

if-then在for循环中不会对所有数组项执行cmds

来自分类Dev

为什么在for循环中异步处理不会缩短执行时间?

来自分类Dev

代码不会在C中的do while循环中执行

来自分类Dev

使用async.js系列中的GET方法和CouchDB操作进行循环不会执行多次

来自分类Dev

PHP-循环语句语法不正确,因此将永远不会执行

来自分类Dev

While循环停止,但不会继续执行下一条语句

来自分类Dev

CUDA 函数不会在 Python 上使用 Numba 执行 For 循环

来自分类Dev

矢量化此循环的方法?将两个矩阵相乘,存储信息,多次执行而不会循环

来自分类Dev

循环不会退出循环吗?

来自分类Dev

While / For循环不会循环。(C ++)

来自分类Dev

rxjs forkjoin不会执行

来自分类Dev

永远不会执行getInitialProps

Related 相关文章

热门标签

归档