Ожидаемый ';' в конце списка объявлений - PullRequest
2 голосов
/ 27 мая 2011

Я пытаюсь создать новый класс Objective-C в XCode и получаю несколько вышеуказанных ошибок в файле .m.

#import "Query.h"

@implementation Query {

MPMediaQuery *query = [[MPMediaQuery alloc] init]; //create new query



[[query addFilterPredicate: [MPMediaPropertyPredicate
                            predicateWithValue: @"Vampire Weekend"
                            forProperty: MPMediaItemPropertyArtist]]; //filter out artists except for Vampire Weekend
// Sets the grouping type for the media query
[query setGroupingType: MPMediaGroupingAlbum]; //sort by album

NSArray *albums = [query collections];
for (MPMediaItemCollection *album in albums) {
    MPMediaItem *representativeItem = [album representativeItem];
    NSString *artistName =
    [representativeItem valueForProperty: MPMediaItemPropertyArtist];
    NSString *albumName =
    [representativeItem valueForProperty: MPMediaItemPropertyAlbumTitle];
    NSLog (@"%@ by %@", albumName, artistName);

    NSArray *songs = [album items];
    for (MPMediaItem *song in songs) {
        NSString *playCount = [song valueForProperty:MPMediaItemPropertyPlayCount];
        NSString *lastPlayed = [song valueForProperty:MPMediaItemPropertyLastPlayedDate];
        NSString *songTitle =
        [song valueForProperty: MPMediaItemPropertyTitle];

        //NSString *info = [[NSString alloc] initWithFormat: @"%@ has been played %@ times.\n Last played %@.", songTitle, playCount, lastPlayed];
        NSLog(@"\n%@ has been played %@ times.\n Last played %@.", songTitle, playCount, lastPlayed);

    }
}
// Override point for customization after application launch.
[query release];

}

@end

XCode выходит из строя и выдает ошибки в строке, котораяЯ определяю объект или пытаюсь использовать запрос (поскольку он не определен).

Мой файл заголовка выглядит следующим образом (не завершен, но я перестал с этим сталкиваться):

#import <Foundation/Foundation.h>
#import <MediaPlayer/MediaPlayer.h>

@interface Query : NSObject {
  MPMediaQuery *query;
}

@property (nonatomic, retain) MPMediaQuery *query;

@end

Ответы [ 2 ]

6 голосов
/ 27 мая 2011

Вам нужно поместить свой код в метод - вы не можете иметь его "незакрепленным" в реализации.

2 голосов
/ 27 мая 2011

Вам не нужны фигурные скобки после @implementation, и вам нужно поместить свой код в некоторый метод!

Это должно выглядеть примерно так:

@implementation Query

- (void)aMethod {
    // Code here
}

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