2011-09-19 7 views
1

내 신청서에는 인물의 짧은 목록이 필요합니다. 각 사람이름, ,, 등과 같은 몇 가지 속성이 있습니다. 지금까지 모든 객체는 Objective-C로 하드 코딩되었고 NSMutableArray에 추가되었습니다. 이 방법은 런타임 중에 추가 개체를 추가 할 필요가 없기 때문에 내 필요에 완벽하게 작동합니다.피 목록 또는 하드 코딩 된 개체?

어떻게 든 하드 코딩 된 개체 대신 plist로 작업하는 아이디어가 훨씬 더 좋은 아이디어 일 수 있으므로 필자의 배열에서 plist를 만들었습니다. 내 생각에 plist 파일은 정확히 작지 않았고 이제 하드 코딩 된 개체로 작업하는 것이 더 나은 승인이 될지 궁금해졌습니다.

필자가 필요로하는 것은 결코 바뀌지 않을 것이므로 사용자가 수정해서는 안되는 개체 목록이므로 Core Data가 필요하지 않습니다.

+0

잘 모르겠지만 방금 문제에 답변했다고 생각합니다.이 데이터를 수정하려고하지 않는다면 하드 코딩 된 상태로 두십시오. – bigkm

답변

1

장점은 다음과 같다 : 프로젝트에서 많은 PLIST를 쉽게로드 할 PLIST에 코드로 전환 할 수 있습니다

  • . 예를 들어 여러 개의 데이터 풀을 사용하여 앱을 테스트하거나 예를 들어 영어, 스페인어, 중국어 용 등 한 가지 plist가있는 경우 유용합니다.
  • 로드 할 수 있습니다. 데이터, 그래서 그들은 메모리에 갇혀 있지 않아
  • 당신이 수정 한 "진짜"응용 프로그램 코드를 잃어 버리지 않고 plist 파일을 저장하고, 어떤 이유로 그것을 수정하고, 그것을 복원 할 수 있습니다.

하지만 ... 하드 코딩이 사용자 정의 클래스에 적용되는 등의 접근, ...이 모든으로, 사용자 정의 클래스에 저장 정적 datas 울트라 클린 인 경우 (이 저장 될 수 있습니다 invidual 파일로, 메모리에로드 된 후 릴리스 됨, 지역화 된 ...), 따라서 plist 파일은 눈에 보이는 이점이 없습니다.

+0

가능한 모든 옵션 (색상)에 대해 클래스의 객체 배열을 가지고 있지만 런타임에 하나의 객체 만 활성화하면 어떻게됩니까? 따라서 전체 클래스는 메모리에 있지만 모든 것을 사용하지는 않으며 그 중 하나만 사용합니다. plist에 남겨 두는 것이 낫겠습니까? –

0

나는 비슷한 상황을 보였고 결국에는 plist와 함께 갔다. 내 앱을 시작할 때 반복적 인 코드를 여러 줄 가져 와서 (나에게 가장 큰 이점이었습니다) 나중에 항목을 추가하거나 변경하는 것이 훨씬 쉬워졌습니다. 나는 byte-for-byte를 사용하면 plist에서 코드를 처리하는 데 훨씬 많은 "문자"가 필요하다면 놀랄 것입니다. (컴파일 할 때 코드는 더 작지만, 우리는 몇 킬로 바이트 정도입니까?). PLIST 파일을 사용

0

속성 목록은 개체의 그래프이기도하지만 개체 목록은 일반 컨테이너이고 프로젝트 도메인의 모델은 제외됩니다. 그래서 그들은 작거나 작지 않습니다. 디스크의 plist 크기는 중요하지 않습니다. 한 번만 직렬화해야하기 때문에 응용 프로그램 수명의 거의 0 %가 될 것이고, 대량의 데이터를 다루지 않기 때문에 무시할 수 있습니다.

유연성을 높이기 위해 plist를 사용하려는 경우 (단위 테스트의 경우) NSCoding을 구현하고 바이너리 plist에 보관/보관 해제 할 수 있습니다.

관련 문제