2014-10-12 1 views
-1

내가 목표 - C에 새로운 오전과 더 나은 이해하려고 노력 뷰 컨트롤러에서 멀리 이동 후 변경 가능한 배열 값을 유지 :는 내보기 컨트롤러에 ... 발생 다음, 내가있는 viewDidLoad에서이 왜

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self createProjectData]; 
} 

: 그리고

@property (nonatomic, strong) NSMutableArray *projectData; 

내 문제는 그쪽입니다 :

- (void)createProjectData 
{ 
    if(!self.projectData) { 
    self.projectData = [[NSMutableArray alloc] initWithObjects:tempProjectInfo1, tempProjectInfo2, nil]; 
} 

projectData는 공공 재산이다 t 다른 View Controller로 이동하여이 뷰로 돌아 오면 projectData는 null입니다. 이전에 위의 값으로 초기화 했더니 ... 누군가가 내가 어떻게 속성 값을 유지할 수 있는지 설명 할 수 있기를 바랍니다. 리턴하면 배열에 추가 한 모든 항목이 있습니다.

+0

이전에 생성 한 컨트롤러를 사용하지 마십시오. –

+0

보기 컨트롤러를 나갈 때 속성과 함께 컨트롤러가 할당 해제됩니다. 그래서'projectData'가 당신이 뷰 컨트롤러를 떠나 다시 돌아간 후에'nil' 인 이유입니다. (네비게이션 콘트롤러를 사용하고'viewController1'에서'viewController2'를 밀고 나서'viewController1'로 다시 pop하면 네비게이션 컨트롤러가 스택을 계속 작동시키기 때문에'viewController1'의 속성은 그대로 유지됩니다.) – rebello95

+0

You 하나의보기 컨트롤러에서 다른보기 컨트롤러로 이동하는 방법을 설명해야합니다. 네비게이션 컨트롤러를 사용하거나 두 번째 컨트롤러를 모달로 표시하는 경우 첫 번째 컨트롤러의 데이터가 손실되지 않아야합니다 (올바르게 돌아갈 것이라고 가정). – rdelmar

답변

-1

코드 내부에 viewDidDisappear 코드가 있는지 확인하십시오.

유사한 경고를 처리하는 코드가있을 수도 있습니다.

관련 문제