2017-09-11 55 views
-1

我已經定義了一個屬性NSMutableArray。在調用initWithObjects之後,它的count就是0.我在這裏錯過了什麼?這裏是我的代碼:initWithObject之後的NSMutableArray計數爲0

@interface MainViewController() 
@property NSMutableArray *photos; 
@end 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    _photos = [_photos initWithObjects:@"1", @"2", @"3", nil]; 
    NSLog(@"Photos count: %lu",(unsigned long)_photos.count); //prints 0 
} 

回答

5

這是因爲_photosnil在您試圖調用init方法的時間。使用arrayWithObjects代替:

_photos = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil]; 
3

這是非法init...沒有在同一行說allocalloc是一個類的方法,你的類是NSMutableArray,所以你應該說:

_photos = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil]; 
+0

感謝您的解釋。雖然只有一個可以接受:) – MayaReo