【问题标题】:iOS For Loops Printing ArrayiOS For循环打印数组
【发布时间】:2012-03-17 12:44:25
【问题描述】:

我正在尝试使用 for 循环从字母数组中挑选字母,然后将它们添加到变量中,然后将其打印到标签中。

我编写了这段代码,它使用随机数生成器从数组中选择一个随机字母,然后将其加入变量password。但是它没有在 Label 中显示任何内容,所以我在 for 循环中设置了一个断点以查看发生了什么,但它甚至似乎根本没有进入循环,例如它不会在里面破裂。

这是我正在使用的代码

- (void) tapRecog:(id)sender
{
    @autoreleasepool 
    {

        NSString *password;
        NSArray *alpha = [NSArray arrayWithObjects: @"a", @"b", @"c", @"d", nil];
        int i, ran;

        for(i = 0;i == 3;i = i + 1)
        {
            ran = arc4random() % 3;
            password = [password stringByAppendingFormat:[alpha objectAtIndex:ran]];

        }

        displayPassword.text = password;
    }
}

【问题讨论】:

    标签: objective-c ios arrays for-loop


    【解决方案1】:

    一些事情。首先,你永远不会初始化password,所以当(或者如果,根据我的第二点)你的for循环中的代码运行时,你会遇到问题......

    请考虑:

    NSString *password = @"";
    

    您的for 循环中的条件也是错误的 - 第二条语句,您有i == 3,是for 循环继续的条件必须是YES;我怀疑你的意思是:

    for (i = 0; i < 3; i++)
    

    【讨论】:

      【解决方案2】:

      它没有进入你的循环,因为你告诉你的 for 循环在 i == 3 时运行。在你的 for 循环的第一段中,你设置 i = 0,然后你说在 i == 3 时运行。改变i == 3 到 i

      【讨论】:

      • 啊,愚蠢的 Objective C 让我很困惑。谢谢您的帮助。我会在 9 分钟内接受答复
      • 奇怪的是代码仍然不起作用,尽管现在是 For 循环。用invalid CFStringRef调试下的密码字符串变量错误@
      • 在我的回答中查看其他必要的修复 (stackoverflow.com/a/9750118/928098)
      猜你喜欢
      • 2013-02-20
      • 2015-11-01
      • 2017-08-11
      • 1970-01-01
      • 2015-06-12
      • 2020-09-08
      • 1970-01-01
      • 2019-07-03
      相关资源
      最近更新 更多