Запуск проекта сборкой не работает в MAC OSX 10.7
-(void)artworkImages{
NSArray *noOfSongs = [mySongsArray content];
for (int i=0; i<[noOfSongs count]; i++) {
NSDictionary *dic = [[NSDictionary alloc] init];
dic = [[mySongsArray arrangedObjects] objectAtIndex:i];
NSURL *url = [NSURL fileURLWithPath:[dic objectForKey:@"Path"]];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
for (NSString *format in [asset availableMetadataFormats]) {
for (AVMetadataItem *item in [asset metadataForFormat:format]) {
if (i>240 && i<250) {
NSBeginAlertSheet(@"Check the loop", @"Delete", nil, @"Cancel", window, self, @selector(alertEnd:returnCode:cInfo:), NULL, nil, @"format===%@,%d",format);
}
}
}
}
}
Вышеуказанные методы работают нормально, если я запускаю проект по коду (X code), но возникают проблемы, если я запускаю по сборке. Я импортирую песни из iTunes library.xml, после чего сохраняю в NSArrayController
, Здесь, в этом методе, я пытаюсь получить изображения изображений, но если я запускаю сборку, я получаю около 250 изображений из 400.
2 ответа
Без кода alertEnd:returnCode:cInfo: трудно сказать, но обычно кажется, что в этой функции что-то убивает цикл for.
Что именно вы пытаетесь достичь с помощью:
if (i>240 && i<250)
Можете ли вы опубликовать код для "alertEnd: returnCode: cInfo". Также было бы легче читать, если бы вы использовали __block для листов предупреждений. Если alertEnd: returnCode: cInfo не упоминается более одного раза, я бы оставил его как блок. Если вы повторно используете код в alertEnd: returnCode: cInfo, тогда продвигайте его в свою собственную void/ функцию.
Некоторые возможности:
Вы импортируете / читаете другой файл "iTunes library.xml", который был создан с меньшим набором файлов itunes. и, может быть, это имя файла установлено в аргументах xcode???
[noOfSongs count] имеет несогласованное значение, поскольку объекты удаляются из noOfSongs
пытаться:
NSInteger *cntSongs = [[mySongsArray content] count];
for (int i=0; i< cntSongs; i++) {
а не текущий:
NSArray *noOfSongs = [mySongsArray content];
for (int i=0; i<[noOfSongs count]; i++) {
- mySongsArray скрывается за другим свойством с тем же именем. см-тень