2010-05-27 2 views
0

iPhone에서 sqlite에 대한 제안 사항을 제공해 주시겠습니까? 내 응용 프로그램 내에서 모든 로컬 데이터를 저장하기 위해 sqlite DB를 사용합니다. 실행 중에 이러한 데이터를 검색하는 데 두 가지 방법을 사용할 수 있습니다.iPhone에서 sqlite를 사용하는 적절한 방법은 무엇입니까?

1 초기화 단계에서 모든 데이터를 메모리에로드하십시오. (더 많은 메모리 사용, DB 열기/닫기 작업이 덜 필요함)

2, 필요한 경우 해당 레코드를 읽고 사용 후 메모리를 비 웁니다. (메모리 사용에 좋은 습관이 있지만 많은 DB 열기/닫기 작업 필요).

방법 2를 사용하는 것을 선호하지만 너무 많은 DB 열기/닫기 작업이 응용 프로그램의 효율성에 영향을 줄 수 있는지 확실하지 않습니다. 아니면 내가 응용 프로그램을 시작할 때 DB를 열고 응용 프로그램이 종료 될 때 DB를 닫음으로써 "방법 2"를 업그레이드 할 수 있다고 생각합니까?

의견을 보내 주셔서 감사합니다.

답변

2

우선 : FMDB를 사용하여 SQLite에 액세스하십시오!

그런 다음 자신 만의 싱글 톤 "MyDB"클래스를 만듭니다.

데이터베이스가 필요할 때마다 [MyDB 인스턴스]를 수행하여 FMDB 인스턴스를 가져옵니다.

그런 식으로 하나의 DB 만 열어 (didFinishLaunching에서) 앱을 종료 할 때 닫습니다.

iPhone에서 SQLite를 사용하는 가장 좋은 방법입니다.

다른 옵션은 CoreData를 사용하는 것으로, 빈 데이터베이스로 시작할 때 유용하지만, 읽기 전용 데이터 세트가있는 경우 FMDB/SQLite가 가장 적합합니다.

+0

바스, 제안에 감사드립니다. 나는 FMDB를 사용하고 있으며 훌륭하다. –

1

Apple은 더 빠르고 원활하게 시작할 수 있도록하기 위해 시작하는 동안 모든 데이터를 미리로드하지 않는 것이 좋습니다. 사용자가 필요할 때만 데이터를로드해야한다고 가정합니다.

+0

네, 맞습니다. 이제 나는 그 규칙에 대해 망설이지 않을 것입니다. 네가 이반 스에게 고마워. –

관련 문제