ViewController에 세그먼트 컨트롤과 컨테이너가 있습니다. 컨테이너에는 PageViewController가 있습니다. 당신은 변경되는 값 테이블 "사용자"의 "활동"을 제어 세그먼트에서 항목 중 하나를 클릭하면 (SQLite는) 테이블 "사용자". 그래서보기 컨트롤러를 다른보기 컨트롤러에 알리기
username text, active bool
user1, false
user2,true
을 당신이에 USER1를 클릭하면 세그먼트 제어 테이블은 PageViewController의 모든 ViewControllers 데이터베이스의 변화를 인식하고 새로운 사용자와 데이터를 다시로드 방법이 있나요
username text, active bool
user1, true
user2,false
로 변경합니다. 이것이 가능하지 않다면 어떻게하는 것이 가장 좋은 방법일까요? 내가 바로 이해하면
친절하게, 당신은 당신이 다른 뷰 컨트롤러에서 분할 컨트롤 값을 변경할 때 일부 뷰 컨트롤러를 통지 할
이봐 당신이 일 이잖아 감사합니다! 하지만 오류가있어. PageViewControler의 뷰 중 하나에 레이블을 배치했습니다. 그래서 SegmentControl을 클릭하면 "aMethod"라는 함수가 viewcontroller에서 호출되지만 viewcontroller에서 레이블의 텍스트를 변경하려고 할 때 "치명적인 오류 : 예기치 않게 nil이 선택 값을 언 래핑하는 동안"오류가 발생합니다. 왜 label = nil입니까? viewDidLoad() 함수에서 레이블 텍스트를 문제없이 변경했습니다. – ReasyEasyPeasy
뷰 컨트롤러가 메모리에 아직 할당되지 않았으므로이 상태 여야합니다. viewDidLoad가 호출되지 않았거나 나중에 메모리에서 할당이 해제되었음을 의미합니다. IBOulet은 View Controller가 살아있는 한 살아 있습니다. –
확인. 그래서 "aMethod"에서 self.viewDidLoad()를 호출하고 viewDidLoad()에서 "reloadLabel"함수를 호출하면 레이블은 여전히 nil입니다. ViewController에서 데이터를 다시로드하는 올바른 방법은 무엇입니까? – ReasyEasyPeasy