这里是我的项目:https://github.com/a8b/musicManager/tree/master/musicManager空NSMutableArray的添加元素后
我有问题与addSongToLibrary方法MusicCollection.m - 它不添加歌曲[库addSong:歌]
这里是我的项目:https://github.com/a8b/musicManager/tree/master/musicManager空NSMutableArray的添加元素后
我有问题与addSongToLibrary方法MusicCollection.m - 它不添加歌曲[库addSong:歌]
那么你注释掉下面的代码
/*-(instancetype) init {
self = [super init];
if (self) {
library.songs = [NSMutableArray array];
[library addSong:[Song new]];
}
return self;
}*/
所以库从未instaniated,或者您取消注释,或者在viewDidLoad
中您需要添加library.songs = [NSMutableArray array];
,否则它将为零。
为了简化为清楚起见代码,它这样做:
-(void) addSongToLibrary:(Song *)song {
for (Song *song in library.songs) {
NSLog(@"%@", song);
}
[library addSong:song];
}
}
您声明具有相同名称作为方法参数的变量,所以它是隐藏在传递的值。
它有什么用? [library.songs count]返回零。 – 2014-09-02 17:24:22
您应该在您的问题中发布相关代码,如果可能,请描述您尝试解决问题的方法。 – 2014-09-02 17:03:17
在访问数组之前是否初始化数组?你有'self.library = [[NSMutableArray alloc] init];'某处? – Logan 2014-09-02 18:16:12
是的,问题是关于分配内存。 – 2014-09-02 18:52:16