2014-08-31 2 views
1

나는이 (가)하는 .m 파일에 다음을 수행하여이 배열에 레스토랑 개체를 추가하려고 헤더 파일 이제는 NS 배열에 객체를 추가 할 수 없습니다

@property (nonatomic, strong) NSMutableArray *resPool; //pool of restaurants 

에 정의 된 레스토랑의 배열을 가지고 :

id restaurant = [[Restaurant alloc] initWithResName:resName] 
[self.resPool addObject:restaurant];// add the restaurant to the res pool array 

이 코드를 실행할 때 resName NSArray는 비어 있습니다. 나는 내가 뭘하고 있는지 확신하지 못한다. 나는 객관적인 C를 고르려고 노력하고있다. 누군가가 나를 도와 줄 수 있을까?

답변

1

어디에도 resPool = [NSMutableArray alloc]init];이 (가) 없습니다. 메모리를 resPool에 할당 한 다음 작업을 수행하십시오. 일반적으로 메모리 할당은 초기화 프로그램에서 수행됩니다. 이 클래스의 init 메소드 중 하나를 수행하십시오.

+0

꽤 흔한 일 :

이 추가보십시오. 고마워요! – SivaDotRender

1

나는 배열이 instantiated이 아니므로이 객체에 객체를 추가 할 수 없다고 생각합니다. 그것은 목표 - C에서 게으른 instansiation라고

- (NSMutableArray *)resPool { 
    if (!_resPool) _resPool = [[NSMutableArray alloc]init]; 
    return _resPool; 
} 

, 그것은 사실이다

+0

그게 작동합니다. 대단히 감사합니다. – SivaDotRender

관련 문제