기존 프로젝트에서 프로젝트가 생성 된 후 오랫동안 핵심 데이터를 도입하려고 시도 했으므로 모델이 이미 마련되어 있습니다. xcdatamodel을 생성하고 거기에 유일한 클래스를 추가했습니다. 해당 클래스는 내 애플리케이션의 개체에 대한 전역 저장소 역할을해야합니다. 클래스가 NSManagedObject를 제대로 구현하고 있으며 가져온 결과와 함께 가져온 컨텍스트에서 생성되고 저장된다는 것을 확인했습니다.NSManagedObject 이해하기
이 클래스에서 데이터를 저장하는 방법은 NSMutableArray를 사용합니다. 그러나 이것은 단지 작동하지 않습니다.
이- (id)initWithEntity:(NSEntityDescription*)entity insertIntoManagedObjectContext:(NSManagedObjectContext*)context {
NSLog(@"init with entity");
[super initWithEntity:entity insertIntoManagedObjectContext:context];
return [self init];
}
init 메소드 만 변경 가능한 배열을 초기화하고, 내가 그 로그에서 볼 수 있습니다
@interface WZMPersistentStore : NSManagedObject<NSCoding> {
NSMutableArray *persistentStorage;
}
@property(nonatomic,retain) NSMutableArray *persistentStorage;
-(void)add:(id)element;
-(void)remove:(id)element;
-(id)objectAtIndex:(NSUInteger)index;
-(NSUInteger)num;
@end
구현에서 나는 또한이 같은 initWithEntity를 오버라이드 (override) : 다음은이 클래스의 단편입니다 엔티티를 만들 때 앱 대리인이 제대로 호출합니다. add 메소드는 메시지 insertObject를 persistentStorage에 보냅니다. 여기에서 오는 질문 :
- "개념적으로"올바르게하고 있습니까? 나는 을 의미합니다. 변수를 관리 객체에 넣고 을 초기화하는 것이 맞습니까? persistentStorage의 크기를 기록 NS 난 항상 얻을
- 0 addObject 메시지 후 순간을 기록에도 (편집 : 즉, 나는 다시 확인하고 난 정확히 1이 추가 얻었다 사실이 아니다 의)을.
- 관리 대상 객체 에 저장되는 객체 trough persistentStorage는 속성이있는 일반 클래스 입니다. 거기에 와 (과) 어떤 관련이 있나요? 내가 런타임에 오류가 발생하지 않기 때문에 나는 아니 겠지.
나는 정말 필사적이다. : - | – Leonardo