Объясните приложение "говорить здесь" для цикла? - PullRequest
0 голосов
/ 03 марта 2010
for(LevelMeter *thisMeter in _subLevelMeters){
{
xxxxx
}

Я новичок в разработке для iphone. Я занимаюсь исследованием записи голоса в iphone. Я скачал образец программы «говорить здесь» от Apple. Я наткнулся на приведенный выше код в примере программы. Не могу понять цикл for .LevelMeter - это отдельный class._subLevelMeters - это NSArray. Они использовали "in" внутри для цикла. Поэтому, пожалуйста, кто-нибудь расскажет о функции выше для цикла. Пожалуйста, помогите мне. Спасибо.

Ответы [ 2 ]

4 голосов
/ 03 марта 2010

Это просто стандартный цикл for .. 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
1 голос
/ 03 марта 2010

_subLevelMeters - это NSArray, который содержит несколько объектов LevelMeter.

Используемый здесь синтаксис - быстрое перечисление Objective C 2.0.

По сути, это все равно, что сказать "для каждого объекта LevelMeter в массиве _subLevelMeters сделайте этот код". Или, говоря более разговорным образом: «Делайте это для каждого LevelMeter в массиве».

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...