我正在努力获取按艺术家排序的歌曲列表。我的代码正常工作,可以打印歌曲和艺术家。现在我想让它按艺术家排序和打印列表。这是我第一次尝试排序,我知道我必须在这里遗漏一些简单的东西。我得到 -- 预期的 ')' -- 和 -- 使用未声明的标识符 'listSongs' -- 这一切都在我的@implementation 文件中。
感谢您提供任何帮助。
这是我的界面部分
@interface Library : NSObject
@property (nonatomic, strong) NSMutableArray *list;
-(id) initList;
-(void) addSong: (Song *) song;
-(void) listSongs;
@end
这是我的实现部分
#import "Library.h"
@implementation Library
@synthesize list;
-(id) initList
{
self = [super init];
if (self){
list = [NSMutableArray array];
}
return self;
}
-(id) init
{
return [self initList];
}
-(void) addSong:(Song *)song
{
[list addObject: song];
}
-(void) listSongs
{
NSLog(@"The list of my songs");
NSSortDescriptor *sorter;
sorter = [[[NSSortDescriptor alloc] initWithKey:@"artist" ascending: YES]
NSArray *sortDescriptors = [NSArray arrayWithObjects:sorter]; **// ** Expected ')'**
[listSongs sortUsingDescriptors:sortDescriptors]; //**use of undeclared identifier 'listSongs'
for (Song *song in list)
NSLog(@"%-20s by %s", [song.Title UTF8String], [song.Artist UTF8String]);
}