-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입니다. 이전에 위의 값으로 초기화 했더니 ... 누군가가 내가 어떻게 속성 값을 유지할 수 있는지 설명 할 수 있기를 바랍니다. 리턴하면 배열에 추가 한 모든 항목이 있습니다.
이전에 생성 한 컨트롤러를 사용하지 마십시오. –
보기 컨트롤러를 나갈 때 속성과 함께 컨트롤러가 할당 해제됩니다. 그래서'projectData'가 당신이 뷰 컨트롤러를 떠나 다시 돌아간 후에'nil' 인 이유입니다. (네비게이션 콘트롤러를 사용하고'viewController1'에서'viewController2'를 밀고 나서'viewController1'로 다시 pop하면 네비게이션 컨트롤러가 스택을 계속 작동시키기 때문에'viewController1'의 속성은 그대로 유지됩니다.) – rebello95
You 하나의보기 컨트롤러에서 다른보기 컨트롤러로 이동하는 방법을 설명해야합니다. 네비게이션 컨트롤러를 사용하거나 두 번째 컨트롤러를 모달로 표시하는 경우 첫 번째 컨트롤러의 데이터가 손실되지 않아야합니다 (올바르게 돌아갈 것이라고 가정). – rdelmar