2010-06-07 1 views
4

Xcode 데이터 모델러는 세 가지 다른 int 데이터 유형을 보여줍니다. 코드를 작성할 때 어떤 데이터 유형이 실제로 iPhone에 해당합니까? 그들은 모두 NSInteger이며 NSNumber에 싸여 있습니까?코어 데이터에서 iPhone의 int 16, int 32 및 int 64 데이터 유형은 정확히 무엇입니까?

내가보기에 NSNumber는 int와 NSInteger를 구별합니다 ... 그래서 세 가지가 거의 같아 보입니까?

답변

4

이 값은 NSAttributeTypeNSAttributeDescription에 해당합니다. 이것들은 NSNumber에 의해 계승 된 NSValueobjCType 메소드에 의해 리턴 된 스트링과 유사합니다. 핵심 데이터 프레임 워크는 영구 저장소의 값을 인코딩/디코딩하는 방법을 알고 있어야하며 NSNumber 개체를 만들 때 init 메서드를 호출해야합니다. NSEntityDescription의 유형은 스토리지에서 올바른 오브젝트를 동적으로 작성하고 다시 저장할 수있는 기능을 제공합니다. 일반적으로 NSValue 클래스 및 하위 클래스의 저장소 세부 정보에 신경 쓸 필요가 없습니다. 이러한 세부 정보는 의도적으로 숨겨져 있습니다. 자신 만의 NSAtomicStore를 구현한다면 알 필요가 있습니다. 자세한 내용은 Atomic Store Programming Topics을 참조하십시오.

+1

그래서 세부 사항에 신경 쓰지 않으면 왜 세 가지 int 유형 중 하나를 선택해야합니까? ;) 그들은 단지 하나의 "int"옵션을 제공 할 수 없었는가? 또는 int64를 선택하면 ... long long과 같은 것입니까? – dontWatchMyProfile

+0

NSNumber 객체를 처리 할 때 알 필요는 없지만 원격 데이터 소스에서 값을 가져 와서 새 ManagedObject를 만드는 경우 오버플로 상태 나 손실을 피하기 위해 저장 유형을 원격 유형과 일치시켜야합니다 정도. – falconcreek

관련 문제