0

UIView 배열 개체를 유지하지 마십시오.

위치가있는 일부 XML을 구문 분석 한 다음 UITableView을 채우는 NSMutableArray에 값을 할당합니다.

viewDidLoad 메서드에서 XML을 구문 분석하지만 값이 변경되지 않으므로 매번 구문 분석 할 필요가 없습니다.

그래서 XML은 필요한 경우에만 구문 분석이 이루어 지지만 UINavigationController의 뒤로 단추를 누를 때마다 구문 분석이 필요합니다. 그것은 배열의 모든 객체를 지 웁니다 .... 왜 이런 일이 일어나는지 아무 생각도 없습니다 ...

+0

여기서 'viewDidLoad'가 잘못 표시 될 수 있습니까? –

답변

1

allLocations 인스턴스 변수가 항상 nil 될 것이없는 .... 배열에 모든 개체를 삭제합니다 viewDidLoad (_view 인스턴스 변수가 nil 인 경우에만 호출됩니다).

매번 배열을 다시 만들고 싶지 않으면 앱이 다른 곳에서 배열을 캐시해야합니다. 두 가지 가능성은 배열을 NearMe 인스턴스를 만드는 객체에 저장하거나 정적 변수에 저장하는 것입니다.

+0

또 다른 가능성은 메모리에 모든 것을 보관하지 않으려 고하면 XML에'plist '를 뽑아내는 것입니다. 처음으로 파싱되었습니다. –

관련 문제