2017-09-11 12 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

_photosあなたはinitメソッドを呼び出そうとしている時点でnilであるためです。代わりにarrayWithObjectsを使用してください:

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

それは同じラインでallocを言わずinit...を言って違法です。 allocはクラスメソッドであり、あなたのクラスはNSMutableArrayなので、次のように言ってください:

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

ありがとうございます。しかし、1つしか受け入れられません:) – MayaReo

関連する問題