"thumb1.jpg", "thumb2.jpg"등의 축소판 이미지가 채워진 두 개의 매우 단순하고 동일한 UITableView가 있습니다.이 축소판 이미지에는 원래 이미지 인 "1.jpg" 이미지 처리에 사용되는 텍스트 파일 "1.txt"가 있습니다. 모든 것은 앱의 Documents 폴더에 저장됩니다.UITableViews에 대한 데이터 관리
cellForRowAtIndexPath를 사용하여 UITableViews에서 축소판을 매우 쉽게 표시 할 수 있으므로이 파일의 번호가 매겨진 순서대로 이름을 지정하고 싶습니다. 현재 NSMutableArray (인덱스 : 1 객체 : "thumb1.jpg"등)를 사용하여 앱의 모든 이미지를 추적합니다.
사용자가 이미지를 추가/삭제할 수 있으므로 주문 유지가 중요합니다. 추가/삭제 처리를 위해 NSMutableArray에서 insertObjectAtIndex 및 removeObjectAtIndex를 사용하고 있습니다. NSMutableArray는 순서를 유지하지만 이런 경우 이미지와 텍스트 파일 이름을 프로그래밍 방식으로 변경해야합니다. 예를 들어, "0.jpg", "1.jpg", "2.jpg", "3.jpg", "4.jpg"의 배열에 5 개의 이미지가 있고 사용자가 두 번째 이미지 ("1 .jpg ") 배열은 인덱스 1에"2.jpg "를 가지므로 파일 이름은"1.jpg ","1.txt "및"thumb1.jpg "로 변경해야합니다.
이 접근 방식은 어떻게 소리가 나나요? 나는 Objective-C에 익숙하지 않으므로 다른 기능을 사용한다면 당신의 의견을 듣고 싶을 것이다.
각 UITableView는 적어도 10 개의 이미지를 가지므로 메모리 관련 문제로 배열에 UIImages를 유지하지 못했습니다 (UITableViews는 이미 5 개의 축소판으로 각각 천천히 스크롤합니다). cellForRowAtIndexPath에서는 initWithContentsOfFile을 사용하여 각 UIImage를 만들고 UITableView를 이해하고 UITableView를 유지하고 파일에서 다시로드하지 않고 셀을 다시 사용할 때 요청했을 때 셀에 다시 삽입합니다. 내가 대신 할당/viewDidLoad 이러한 이미지를 초기화하고 NSMutableArray에 저장해야합니까? – Ian
예, 제가해야한다고 말하고 싶습니다. 나는 당신이 5 개의 이미지 (나는 NSArray에 저장되어있는 수백 개의 이미지를 보여주는 UITableViews를 가지고있다.)를 경험했지만 그것이 이미지 로딩이라고 생각하는 기억 문제는 아니라고 생각한다. cellForRowAtIndexPath에있는 파일에서 각 이미지를 초기화하는 경우 셀을 다시 사용하는지 여부에 관계없이 매번 이미지를 확실히 다시로드합니다. 그런 다음 viewDidLoad에서 파일의 이미지를로드하여 훨씬 빠르게 셀 렌더링을 볼 수 있습니다. 그렇지 않은 경우 알려주십시오. – h4xxr
이 접근법은 훨씬 더 잘 작동합니다! 나는 UITableView가 그것에 추가 된 모든 이미지를 유지할 것이라고 생각했지만 그것이 셀이 제거 된 후에 이미지가 멈추지 않는 셀을 다시 사용하는 것처럼 보인다. 도와 주셔서 감사합니다 h4xxr. – Ian