2012-12-11 2 views

답변

44

iOS 5 및 OSX 10.7 스칼라 속성을 자동으로 생성 할 수 없기 때문에 setter 및 getter 구현을 추가해야하므로 약간의 불이익이 발생합니다. 자동 생성 속성이 최적화됩니다. 나는 다른 벌칙을 알지 못합니다.

스칼라 및 비 스칼라 속성은 DB에서 동일한 유형으로 표시되므로 DB 크기에는 변화가 없습니다.  

이러한 속성에 액세스하는 방법에 따라 스칼라를 사용해야하는 경우를 선택해야합니다. 예를 들어 콜렉션 (NSArray, NSSet, NSDictionary)에 추가하려는 경우 코코아 객체의 스칼라 속성을 래핑해야합니다.

+13

objc.io - Data Models and Model Objects이 또한 내가 스칼라가 아닌 객체를 사용하여 추측은 당신에게 여분의 상태를 제공합니다. – Tommy

23

코어 데이터는 정수, 부동 소수점, 부울 등과 같은 많은 공통 데이터 유형을 지원합니다. 그러나 기본적으로 데이터 모델 편집기는 관리 대상 객체 하위 클래스에 이러한 속성을 NSNumber 속성으로 생성합니다. 이는 종종 floatValue, boolValue, integerValue 또는 이와 유사한 호출을 응용 프로그램 코드의 NSNumber 개체에서 발생시킵니다.

하지만 올바른 스칼라 유형으로 속성을 지정할 수도 있습니다. int64_t, float_t 또는 BOOL으로 지정하고 Core Data와 함께 사용할 수 있습니다. Xcode에는 NSManagedObject 생성기 ("기본 데이터 유형에 스칼라 속성 사용")의 저장 대화 상자에 약간의 확인란이 있습니다.

출처 :`nil` :