전에이 이분법을 깨닫지 못해서 물어볼 필요가 있습니다. public 속성을 통해 NSArray 객체를 노출시키는 일종의 모델 관리자 클래스가 있다고 가정 해 보겠습니다. 이것이 우리의 모델입니다. 이제이 배열의 멤버를 tableview 셀에 표시하는 뷰 컨트롤러도 있습니다. 이 NSArray를 tableview의 데이터 소스로 설정합니다. 그러나 내 모델 변경 데이터를 제 시간에 맞추려면 어떻게해야합니까?NSArray 모델을 변경 가능하거나 변경할 수 없습니까?
두 가지 옵션이 있습니다. 1) 배열을 변경할 수있게 만드십시오. 2) 인스턴스 NSArray를 새 데이터가 들어있는 다른 인스턴스로 바꿉니다.
옵션 1의 문제는 아무나 배열의 내용을 잘못 변경할 수 있다는 것입니다. 옵션 2의 문제는 tableViewController가 원래 배열 인스턴스를 계속 가리키며 관리자 클래스가 이제는 새 인스턴스를 가리키고 있다는 것을 무시합니다 (이는 업데이트 된 데이터가있는 속성 배열 인스턴스로 바뀌었기 때문입니다).
요약하면 모델 관리자에서만 변형 될 수있는 배열 인스턴스가 필요하지만 외부 세계에서는 변경할 수 없습니다. 어느 것이 불가능한가? 모든 아이디어가이 문제를 해결하는 방법?
이 방법이 도움이됩니까? http://stackoverflow.com/a/10436587/3501220 – lucianomarisi