2014-09-02 49 views
-2

这里是我的项目:https://github.com/a8b/musicManager/tree/master/musicManager空NSMutableArray的添加元素后

我有问题与addSongToLibrary方法MusicCollection.m - 它不添加歌曲[库addSong:歌]

+2

您应该在您的问题中发布相关代码,如果可能,请描述您尝试解决问题的方法。 – 2014-09-02 17:03:17

+0

在访问数组之前是否初始化数组?你有'self.library = [[NSMutableArray alloc] init];'某处? – Logan 2014-09-02 18:16:12

+0

是的,问题是关于分配内存。 – 2014-09-02 18:52:16

回答

0

那么你注释掉下面的代码

/*-(instancetype) init { 
    self = [super init]; 
    if (self) { 
     library.songs = [NSMutableArray array]; 
     [library addSong:[Song new]]; 
    } 
    return self; 
}*/ 

所以库从未instaniated,或者您取消注释,或者在viewDidLoad中您需要添加library.songs = [NSMutableArray array];,否则它将为零。

1

为了简化为清楚起见代码,它这样做:

-(void) addSongToLibrary:(Song *)song { 

    for (Song *song in library.songs) { 
    NSLog(@"%@", song); 
    } 
    [library addSong:song]; 
} 

}

您声明具有相同名称作为方法参数的变量,所以它是隐藏在传递的值。

+0

它有什么用? [library.songs count]返回零。 – 2014-09-02 17:24:22