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

时间:2010-03-03 13:03:27

标签: iphone objective-c for-loop

for(LevelMeter *thisMeter in _subLevelMeters){
{
xxxxx
}

我是iphone开发的新手。我正在研究iphone中的录音。我已经从Apple下载了“speak here”示例程序。我在示例程序中遇到了上面的代码。我无法理解for循环.LevelMeter是单独的class._subLevelMeters是一个NSArray。他们使用了“in”里面的循环。所以请任何人告诉上面的函数循环。请帮帮我。谢谢。

2 个答案:

答案 0 :(得分:4)

这只是许多语言中的for循环的标准。对于循环的每次迭代,变量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

答案 1 :(得分:1)

_subLevelMeters是一个包含许多LevelMeter对象的NSArray。

这里使用的语法是Objective-C 2.0的快速枚举。

基本上,就像说“对于_subLevelMeters数组中的每个LevelMeter对象,执行此代码”。或者用一种更通俗的方式:“为数组中的每个LevelMeter做这个东西”。

希望有所帮助。