我正在努力获取按艺术家排序的歌曲列表。我的代码可以使用,并且可以打印歌曲和歌手。现在,我想对其进行排序并按艺术家打印列表。这是我第一次尝试排序,我知道这里必须缺少一些简单的东西。我得到-预期为')',并且-使用未声明的标识符'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]);
}
您应该使用NSArray * sortedArray = [listSongs arraySortedUsingDescriptors:sortDescriptors];
基本上,此方法返回一个已排序的数组,在未排序的数组上调用它,并为它提供一个排序描述符数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句