Я трудно понять, как получить доступ к значениям в массивах, используя Objective-C Мой массив выглядит следующим образом:Доступ к значениям, указанным в IOS Массивы и словари
bualadhBos = @[
@{ @"time":[NSNumber numberWithInt:2875],
@"line" : @"Muid uilig ag bualadh bos, "},
@{ @"time":[NSNumber numberWithInt:3407],
@"line": @"Muid uilig ag tógáil cos, "},
@{ @"time":[NSNumber numberWithInt:3889],
@"line": @"Muid ag déanamh fead ghlaice, "},
@{ @"time": [NSNumber numberWithInt:4401],
@"line": @"Muid uilig ag geaibíneacht. "},
@{ @"time":[NSNumber numberWithInt:4900],
@"line": @"Buail do ghlúine 1, 2, 3, "},
@{ @"time":[NSNumber numberWithInt:5383],
@"line": @"Buail do bholg mór buí, "},
@{ @"time" :[NSNumber numberWithInt:5910],
@"line": @"Léim suas, ansin suigh síos, "},
@{ @"time": [NSNumber numberWithInt:6435],
@"line": @"Seasaigh suas go hard arís. "},
@{ @"time":[NSNumber numberWithInt:6942],
@"line": @"Sín amach do dhá lamh, "},
@{ @"time": [NSNumber numberWithInt:7430],
@"line": @"Anois lig ort go bhfuil tú ' snámh. "},
@{ @"time": [NSNumber numberWithInt:7934],
@"line": @"Amharc ar dheis, ansin ar chlé, "},
@{ @"time":[NSNumber numberWithInt:8436],
@"line": @"Tóg do shúile go dtí an spéir. "},
@{ @"time": [NSNumber numberWithInt:8940],
@"line": @"Tiontaigh thart is thart arís, "},
@{ @"time": [NSNumber numberWithInt:9436],
@"line": @"Cuir síos do dhá lámh le do thaobh, "},
@{ @"time": [NSNumber numberWithInt:9942],
@"line": @"Lámha suas is lúb do ghlúin, "},
@{ @"time": [NSNumber numberWithInt:10456],
@"line": @"Suigí síos anois go ciúin. "},
];
И я итерация по массиву, как так :
[player addPeriodicTimeObserverForInterval:CMTimeMake(1, 1) queue:NULL usingBlock:^(CMTime time){
NSTimeInterval seconds = CMTimeGetSeconds(time);
for (NSObject *item in bualadhBos) {
NSLog(@"Seconds: %qi", seconds);
NSLog(@"item: %qi", [item valueForKey:@"time"]);
}
Выход, который я получаю от этого, как это:
2014-09-23 21:43:03.485 IciApp[1001:239870] item: 1683166570951200528
2014-09-23 21:43:03.486 IciApp[1001:239870] Seconds: 4617316992953529383
2014-09-23 21:43:03.486 IciApp[1001:239870] item: 1683489071455597664
2014-09-23 21:43:03.487 IciApp[1001:239870] Seconds: 4617316992953529383
2014-09-23 21:43:03.488 IciApp[1001:239870] item: 1683292602471563696
2014-09-23 21:43:03.488 IciApp[1001:239870] Seconds: 4617316992953529383
Я не уверен, почему строки элементов не распечатывают значения, которые находятся в массиве? Или это, и я просто не понимаю, как он преобразует число? Мне кажется, что он печатает идентификатор объекта, а не значение времени. Я надеюсь, что 2875 напечатано как первое значение для элемента.
Кроме того, меня тоже смущает значение Seconds. Это значение в миллисекундах?
Большое спасибо
Спасибо, это мне очень помогло. Просто нужно выяснить, что такое Секунды. Очень смутно, что это такое большое количество. –
Я только что обновил свой ответ. Я изменяю, как «секунды» регистрируются. 'NSTimeInterval' - это' double', а не 'long long'. Посмотрите, поможет ли это. – rmaddy
, что дает больше смысла. Мне нужно многому научиться в Objective-C –