이 질문은 기술적 인 문제가 아니라 오히려 접근법입니다. 데이터를 저장하는 등싱글 톤 대 코어 데이터
1)를 사용하여 관리자, 데이터 홀더 :
나는 앱에서 서버에서받은 데이터를 저장하기 위해이 더 많거나 적은 일반적인 접근 방법을 알고있다. 이들은 대개 일종의 싱글 톤이며 서버에서받은 모델을 저장하는 데 사용됩니다. (예 : 게시물/장소/사용자의 배열) 모든 화면에서 데이터에 액세스하려면 싱글 톤이 필요합니다. 나는 대부분의 앱이이 방법을 사용한다고 생각한다.
2) 코어 데이터 (또는 아마도 영역)를 메모리 내장 스토리지로 사용. 이 접근법은 싱글 톤 (singleton)을 피할 수는 있지만 유지 보수 및 지원을 위해서는 좀 더 복잡하고 위험합니다.
어떻게 데이터를 저장하고 그 이유는 무엇입니까?
P. 어떤 대답이 도움이 될 것입니다. 그러나 상세한 이유와 이유가있는 큰 "감사합니다".
고맙습니다. 내가 뭘 하려는지 나는 스스로 결정하기를 원한다. 싱글 톤을 피하기 위해서만 Core Data를 사용하고 싶습니까? 또는 코어 데이터 (또는 다른 orm)를 관리하는 데 너무 많은 노력이 필요할 수 있으므로 싱글 톤은 정상적으로 작동합니다. – Evgeniy
싱글 톤의 사용을 둘러싼 논란이 있지만 여기에는 숙련 된 iOS 개발자로서의 제 의견이 있습니다. 싱글 톤은 훌륭하고 데이터 소스/관리자 역할을위한 최선의 솔루션입니다. 단 하나의 인스턴스 만 있으므로 멋지고 가벼우 며 데이터가 쉽게 액세스 할 수 있습니다. 메모리에서 싱글 톤을 유지하는 것보다 훨씬 리소스 집약적 인 작업을 수행 할 필요가없는 경우 디스크에서 데이터를 읽지 않아도되는 여분의 정밀 검사 (RAM보다 훨씬 느림)를 추가하면 안됩니다. 그러나 객체 배열을 완료하면 객체 배열을 비 웁니다. –
제 경험은 정확히 반대입니다. 싱글 톤은 정의상 메모리 누수이며 게으른 프로그래머는 객체 수명에 대해 생각하지 않아도된다는 의미입니다. 전문적인 코드에는 허용되지 않습니다. 할당 취소 할 수없는 참조 카운트 루프를 도입하지 않고도 앱 델리게이트에서 객체에 대한 참조를 매달아 동일한 결과를 얻을 수 있습니다 – MoDJ