2014-02-19 3 views
0

내 프로젝트에 UI View TableSimple View 컨트롤러가 있습니다. 그들은 항법 관제사에 의해 서로 연결된다. UI View Table 상단에는 Simple View에 segue를 호출하는 버튼 "새 위치 추가"가 있습니다. 후자에는 사용자가 채워야하는 텍스트 필드가 있습니다. 사용자가 "뒤로"버튼을 탭하면 새로 추가 된 셀이있는 "업데이트 된"UI 표보기를보아야합니다.UI 표보기, iOS 7 작업

이러한보기간에 데이터를 전달하기 위해 저는 (내 관점에서 볼 때 MVC 패러다임에 완벽하게 부합하는) 싱글 톤 클래스를 사용하고 있습니다. 이 객체는 Simple View 컨트롤러의 텍스트 필드에 사용자가 입력을 완료 할 때 업데이트되는 속성으로 NSMutableArray입니다.

그러나 응용 프로그램을 처음 실행하면 새 위치 추가 버튼을 누르고 텍스트 입력란에 텍스트를 입력 한 다음 뒤로 이동하십시오. UI 테이블이 업데이트되지 않습니다.

그러나 동일한 단계를 다시 반복하면 두 개의 (동일한) 셀이 UI 표보기에 추가됩니다.

이 문제를 해결하려면 어떻게해야합니까? 즉, 사용자가 뒤로 버튼을 누르면 UI 표보기에 하나의 셀만 추가 할 수 있습니까?

답변

1

이가 왜냐하면 - (IBAction) textFieldReturn : (id) 발신자가 두 번 트리거되기 때문입니다. 당신은 당신의 viewWillDisappear에 데이터를 추가하는 메소드를 넣어야합니다. (BOOL) null 값에 대한 체크와 함께 움직이는 애니메이션 :

-(IBAction)textFieldReturn:(id)sender{ 

} 

-(void)viewWillDisappear:(BOOL)animated { 

    if ([_textSearch.text length] == 0) return; 

    NSLog(@"%@", _textSearch.text); 
    _info.isEdited=YES; 
    _info=[GeoChatInformationAboutTheSelectedPlace returnInstance]; 
    [_info.arrayOfTheNamesOfTheLocations addObject:_textSearch.text]; 
    [_info.imagesOfTheSavedLocations addObject:@"car1.jpeg"]; 
    [_info.arrayOfTheNumberOfUpdatesOfTheSavedLocations addObject:@"1"]; 
    [_info.arrayOfTheOnLineUsersAtTheSavedLocations addObject:@"56"]; 
    [_info.arrayOfThePostsAssociatedWithTheSelectedLocation addObject:@3]; 
} 
1

당신은 당신의 tableview보기 컨트롤러의 viewWillAppear:animated 방법으로 jQuery과 데이터 소스를 다시로드했습니다 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    _info=[GeoChatInformationAboutTheSelectedPlace returnInstance]; 
    //[self.tableView reloadData]; 
} 

-(void)viewWillAppear:(BOOL)animated { 

    [self.tableView reloadData]; 
} 

추신 : car1.jpeg 및 car2.jpeg 당신의 GitHub의 프로젝트에서 누락

+0

감사합니다. 나는 당신이 추천 한 것처럼했지만 두 번째로 "새 위치 추가"를 클릭하면 이전에 입력 한 텍스트가 새 셀로 다시 추가됩니다. –

+1

- (IBAction) textFieldReturn : (id) 보낸 사람이 두 번 트리거되기 때문입니다. 당신은 viewWillDisappear에 데이터를 추가하는 메소드를 넣어야합니다. (BOOL) null 값에 대한 확인과 함께 애니메이션이 적용됩니다. - (void) viewWillDisappear : (BOOL) animated { if ([_textSearch.text length] == 0) return; NSLog (@ "% @", _textSearch.text); ecc ecc – matsoftware

+0

대단히 감사합니다! 그것은 나를 도왔다. 제 질문에 대한 답변에 위의 의견을 적어주세요. 내 문제에 대한 올바른 해결책으로 제안을 받아 드리고 싶습니다. –

관련 문제