수제 모델에서 핵심 데이터 모델로 마이그레이션 : setter / getter 문제

Jean Lebrument

내 앱에 Core Data를 사용하는 방법을 배우기 시작했으며 .NET을 사용한 setter 및 getter에 대한 질문이 NSManagedObject있습니다.

이전 모델에서는이 구문을 사용하여 속성을 선언했습니다.

@interface MyModel : NSObject 
{
    MyAttributeOfClass *_myAttributeOfClass
}

- (void)setMyAttributeOfClass:(MyAttributeOfClass *)anAttributeOfClass;
- (MyAttributeOfClass *)myAttributeOfClass;

@synthesize이 일을하는 데 사용할 수 있습니다 . 그러나 다음 @synthesize과 같은 공용 속성과 함께 사용하면

@property (nonatomic, strong) MyAttributeOfClass *myAttributeOfClass;

개발자는 내 setter를 우회 myAttributeOfClass하고 다음을 수행 하여 값을 직접 설정할 수 myAttributeOfClass = bar;있습니다.. setter를 사용하여 작업을 수행하기 때문에이 동작을 허용하고 싶지 않습니다. 이 작업이 완료되지 않으면 내 수업이 더 이상 올바르게 작동하지 않습니다.

이제 이전 모델을 .NET에서 하위 클래스로 분류 된 Core Data 모델로 마이그레이션하고 있습니다 NSManagedObject.

그러나 데이터 모델에서 클래스를 생성 할 때 속성은 다음과 같이 선언됩니다.

@property (nonatomic, retain) MyAttribute *myAttribute;

따라서 개발자는 setter를 호출하지 않고도이 속성의 값을 설정할 수 있습니다. myAttribute = bar; 그리고 나는 그것을 금지하고 싶습니다.

어떤 제안?

감사 !

마틴 R

Core Data 관리 개체의 속성은 인스턴스 변수에 의해 백업되지 않습니다. 속성 구문을 사용하여 속성을 설정할 수 있습니다.

object.myAttribute = bar;

또는 키-값 코딩 :

[object setValue:bar forKey:@"myAttribute"];

두 경우 모두 setter 메서드

-(void)setMyAttribute:(MyAttribute *)value;

호출됩니다. Setter 및 getter 메서드는 일반적으로 런타임에 동적으로 생성되지만 명시적인 setter 및 / 또는 getter 메서드를 제공 할 수 있습니다.

그러나 "primitive"접근 자 메서드를 호출하여 setter를 우회 할 수 있습니다.

[object setPrimitiveValue:bar forKey:@"myAttribute"];

이것은 커스텀 setter 메소드가 사용하는 것입니다. 그러나 누구나 기본 접근자를 호출 할 수 있습니다.이를 억제 할 방법은 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

서로 다른 모델 간의 핵심 데이터 마이그레이션?

분류에서Dev

핵심 데이터 문제 : 데이터 모델을 업데이트 할 때 인식 할 수없는 선택기

분류에서Dev

마이그레이션없는 핵심 데이터 변경 데이터 모델

분류에서Dev

마이그레이션없는 핵심 데이터 변경 데이터 모델

분류에서Dev

Swift로 핵심 데이터에 쓸 때 오류 코드 문제

분류에서Dev

핵심 데이터에서 삭제

분류에서Dev

swiftUI 핵심 데이터 모델

분류에서Dev

핵심 데이터 모델 계획

분류에서Dev

누구든지이 핵심 데이터 마이그레이션 문제의 디버깅에 대한 조언을 제공 할 수 있습니까?

분류에서Dev

외부 데이터베이스에서 inspectdb를 수행 한 후 Django에서 모델 마이그레이션 문제

분류에서Dev

SQL에서 핵심 데이터 모델링

분류에서Dev

Django 마이그레이션 : 이미 제거 된 모델 필드를 참조하는 데이터 마이그레이션에서 충돌

분류에서Dev

이전 모델 버전으로 핵심 데이터 롤백

분류에서Dev

핵심 데이터의 중첩 문제

분류에서Dev

핵심 데이터 NSPersistentStore 문제

분류에서Dev

Entity Framework에서 데이터 모델링 및 / 또는 TPT 모델 쿼리 문제

분류에서Dev

제출 된 데이터에서 XSS 공격 완화-<문자가 모든 공격의 핵심입니까?

분류에서Dev

내 모델 클래스 내에서 핵심 데이터 업데이트

분류에서Dev

한 앱에서 다른 앱으로 핵심 데이터 데이터베이스 마이그레이션

분류에서Dev

각도 모델에서 데이터 표시 문제

분류에서Dev

마이 인 패드에 저장된 데이터 (핵심 데이터 모델로 저장)를 여는 방법

분류에서Dev

TableViewCells에서 핵심 데이터를 보는 눈에 보이지 않는 문제

분류에서Dev

핵심 데이터 모델 (속성)에 데이터를 저장하는 방법

분류에서Dev

django 모델의 고유 한 임의 기본값으로 마이그레이션 문제

분류에서Dev

Django : 사용자 지정 사용자 모델로 마이그레이션하는 문제

분류에서Dev

Xcode 11.4.1 핵심 데이터 모델이 인식되지 않음

분류에서Dev

핵심 데이터 : 소스 저장소에 대한 모델을 찾을 수 없음-시뮬레이터에서만?

분류에서Dev

핵심 데이터 + Swift +로드 모델이 작동하지 않습니다.

분류에서Dev

SwiftUI-핵심 데이터 NSSet에서 삭제-@FetchRequest with .onDelete ()

Related 관련 기사

  1. 1

    서로 다른 모델 간의 핵심 데이터 마이그레이션?

  2. 2

    핵심 데이터 문제 : 데이터 모델을 업데이트 할 때 인식 할 수없는 선택기

  3. 3

    마이그레이션없는 핵심 데이터 변경 데이터 모델

  4. 4

    마이그레이션없는 핵심 데이터 변경 데이터 모델

  5. 5

    Swift로 핵심 데이터에 쓸 때 오류 코드 문제

  6. 6

    핵심 데이터에서 삭제

  7. 7

    swiftUI 핵심 데이터 모델

  8. 8

    핵심 데이터 모델 계획

  9. 9

    누구든지이 핵심 데이터 마이그레이션 문제의 디버깅에 대한 조언을 제공 할 수 있습니까?

  10. 10

    외부 데이터베이스에서 inspectdb를 수행 한 후 Django에서 모델 마이그레이션 문제

  11. 11

    SQL에서 핵심 데이터 모델링

  12. 12

    Django 마이그레이션 : 이미 제거 된 모델 필드를 참조하는 데이터 마이그레이션에서 충돌

  13. 13

    이전 모델 버전으로 핵심 데이터 롤백

  14. 14

    핵심 데이터의 중첩 문제

  15. 15

    핵심 데이터 NSPersistentStore 문제

  16. 16

    Entity Framework에서 데이터 모델링 및 / 또는 TPT 모델 쿼리 문제

  17. 17

    제출 된 데이터에서 XSS 공격 완화-<문자가 모든 공격의 핵심입니까?

  18. 18

    내 모델 클래스 내에서 핵심 데이터 업데이트

  19. 19

    한 앱에서 다른 앱으로 핵심 데이터 데이터베이스 마이그레이션

  20. 20

    각도 모델에서 데이터 표시 문제

  21. 21

    마이 인 패드에 저장된 데이터 (핵심 데이터 모델로 저장)를 여는 방법

  22. 22

    TableViewCells에서 핵심 데이터를 보는 눈에 보이지 않는 문제

  23. 23

    핵심 데이터 모델 (속성)에 데이터를 저장하는 방법

  24. 24

    django 모델의 고유 한 임의 기본값으로 마이그레이션 문제

  25. 25

    Django : 사용자 지정 사용자 모델로 마이그레이션하는 문제

  26. 26

    Xcode 11.4.1 핵심 데이터 모델이 인식되지 않음

  27. 27

    핵심 데이터 : 소스 저장소에 대한 모델을 찾을 수 없음-시뮬레이터에서만?

  28. 28

    핵심 데이터 + Swift +로드 모델이 작동하지 않습니다.

  29. 29

    SwiftUI-핵심 데이터 NSSet에서 삭제-@FetchRequest with .onDelete ()

뜨겁다태그

보관