代码之家  ›  专栏  ›  技术社区  ›  Warrior

解释“在这里说话”的循环应用程序?

  •  0
  • Warrior  · 技术社区  · 14 年前
    for(LevelMeter *thisMeter in _subLevelMeters){
    {
    xxxxx
    }
    

    我是iPhone开发的新手。我正在研究iPhone中的语音记录。我从苹果下载了“在这里说话”示例程序。我在示例程序中遇到了上述代码。我无法理解for loop.LevelMeter是单独的类。_SubvelMeters是一个NSarray。他们使用了“in”作为循环。所以请任何人告诉我乐趣。以上为循环操作,请帮帮我。谢谢。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jasarien    14 年前

    _subLevelMeters 是包含多个LevelMeter对象的NSarray。

    这里使用的语法是objective-c 2.0的快速枚举。

    基本上,它就像是说“对于子级别表数组中的每个级别表对象,执行此代码”。或者用更通俗的方式说一句:“为数组中的每个水平仪做这些事情”。

    希望有帮助。

        2
  •  4
  •   pheelicks    14 年前

    这只是在许多语言中都可以找到的..in循环的标准。在循环的每次迭代中,变量thismeter包含数组中的下一个对象。一个例子应该说明这一点:

    NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
    
    for(id *string in array)
    {
      NSLog(string);
    }
    
    // The above code will output the following:
    // 1
    // 2
    // 3