2011-02-26 3 views
0

Im-objective-new에 새로운 것이 있습니다. 싱글 톤 클래스를 읽고 있습니다. 나는 그것을 내 논리로 구현하고 싶지만 확실하지는 않습니다. 올바른/가능/할 수있는 일이면 조언을 해주십시오.싱글 톤 클래스와 sqlite의 사용

지금은 XML 피드에서 데이터를로드하고 있지만 어떤 버튼을 클릭했는지에 따라 표시 할 데이터를 제어하고 싶습니다. 예를 들어 buttonA는 IT 뉴스를 표시하고 buttonB는 유명 뉴스를 표시합니다.

내 생각은 응용 프로그램 시작시 백그라운드에서 xql 데이터를 sqlite로로드하고 싱글 톤 클래스를 사용하여 버튼보기를 동시에 표시하는 것입니다. 사용자가 버튼을 누르면 필요한 테이블을 쿼리하고 내용을 tableView에 표시합니다.

이게 가능한가요? 그렇지 않다면이 문제를 해결하는 가장 좋은 방법은 무엇인지 조언 해주십시오.

감사합니다.

답변

1

먼저 데이터 모델의 구성을 재고해야합니다. 당신은 sqlite를 다른 한편으로는 전역 배열로 명명했습니다.

나는 Core Data를 사용하여 파싱 된 데이터를 편리하게 저장할 것입니다. 마지막으로 필요한 것은 핵심 데이터베이스를 쿼리하고 필요한 것을 가져 오는 것입니다. 이것은 전역 배열에 데이터를 저장하는 것보다 더 많은 메모리를 효율적으로 사용할 수 있습니다.

Apple's Core Data tutorial에서보세요하거나 nice turorial: "superdb-core-data-app-with-sections"

에서 당신이 싱글 톤을 사용하여 관리되는 개체 컨텍스트를 공유 할 수 있습니다. 이 blog post을 살펴보면 관리 대상 객체 컨텍스트의 참조를 관련 객체로 전달하여 단일 객체가없는 솔루션을 제공합니다. 앱 델리게이트에서 생성됩니다.

+0

죄송합니다. 필자는이 문제에 대한 또 다른 생각을 가지고 있었으며 필자의 질문에 대한 개정안을 작성 했으므로 답변을 너무 빨리받을 것으로 기대하지 않았습니다. 고맙습니다. 핵심 데이터를 사용하고 있지만 데이터베이스로의 데이터 로딩을 관리하고 싶습니다. 싱글 톤이 아마도 가장 좋은 곳을 찾고 있다고 들었습니다. –

+0

예제 튜토리얼은 바로 지금 xml 피드를 읽는 것으로부터 바로하고 있지만, 눌려진 버튼을 기반으로 필요한 것을 추출하는 방법에 대해서는 제어 할 수 없습니다. 나는 낮은 수준으로보고 있지만, 나는 처음부터 내 데이터베이스에 데이터를 얻을 수있는 최상위 수준이 필요합니다. –

+0

무슨 뜻인지 알 겠어. 뷰 컨트롤러 또는 db 쿼리에 사용하는 클래스간에 공유해야하는 것은 NSManagedObjectContext입니다. DB에 대한 링크로 볼 수 있습니다. 물론 응용 프로그램 시작시 만들 수 있으며 싱글 톤을 통해 액세스 할 수 있습니다. –