2009-08-19 2 views
0

저는 코코아 프로그래밍에 익숙하지 않아 내 랩톱의 특정 배터리 상태를 모니터링하고 기억하는 작은 응용 프로그램을 만드는 첫 번째 프로젝트를 결정했습니다. (나는 그것을 대부분의 시간에 꽂았으며, 사과는 당신이 그것을 계속해서 내보내는 것을 권장합니다. 그래서 이것을 기억하는 데 도움이되는 작은 프로그램을 만들지 않으시겠습니까? :))NSManagedObject를 수동으로 사용 - NSManagedContext에 문제가 있습니까?

어쨌든, 저는 DataModel 파일과 함께 표준 Objective-C 프로젝트. 속성, 청구 및 이벤트가있는 Entity, BatteryEvent가 포함되어 있습니다.

그러면 PowerListener.m (및 .h)이 있습니다. 다음과 같이 PowerListener.m이 구현됩니다

@implementation PowerListener 
void myPowerChanged(void * context) { 
    printf("Is charging: %d\n", [PowerFunctions isCharging]); 
    printf("Is on ac: %d\n", [PowerFunctions isOnAC]); 
    printf("Charge left: %d\n", [PowerFunctions currentCapacity]); 
    printf("Powerchanged\n"); 
    NSManagedObject *newBatteryEvent = [NSEntityDescription 
         insertNewObjectForEntityForName:@"BatteryEvent" 
            inManagedObjectContext:context]; 
} 

- (PowerListener*) init { 
    self = [super init]; 
    if(self) { 
     CFRunLoopSourceRef loop = IOPSNotificationCreateRunLoopSource(myPowerChanged, [[NSApp delegate] managedObjectContext]); 
     CFRunLoopAddSource(CFRunLoopGetCurrent(), loop, kCFRunLoopDefaultMode); 
     CFRelease(loop); 
    } else { 
     printf("Error\n"); 
    } 
    return self; 
} 
@end 

내 문제는 내가 이것을 실행하면 (main.m의 주요-방법을 통해 inited는) 전원이 실제로 변화, 내가하려고 오류를 던져 않는다는 것입니다 새 BatteryEvent 객체를 만듭니다.

2009-08-19 17:59:46.078 BatteryApp[5851:813] +entityForName: could not locate an NSManagedObjectModel for entity name 'BatteryEvent' 

그래서 내가 잘못된 ManagedContext를 갖고있는 것처럼 보입니까? 올바른 방법을 얻으려면 어떻게해야합니까? 나는 올바른 길을 가고 있나?

다른 종류의 NSManagedObjectContext를 콜백 함수에도 전달하려고 시도했습니다. 나는이 가이드를 따라 갔다 : Core Data Guide,하지만 다시 같은 오류가 발생했다.

나는 현명하다!

도움을 주셨습니다.

답변

0

앱이 실행 및/또는 핵심 데이터 스택 초기화의 일부로 관리 객체 모델을로드하지 않는 것 같습니다.

모델이로드 된 위치는 어디입니까?

또한 모델에서 엔티티 이름의 철자가 올바른지 확인하십시오.

+0

BatteryApp_DataModel.xcdatamodel이라고합니다. 모델이라는 디렉토리에 있습니다. 모델로드를 위해 특별히해야 할 작업이 있습니까? 위의 내용을 볼 수 있으며 링크를 통해 내가 게시물을 업데이트했습니다. (http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CoreDataUtilityTutorial/Articles/05_createStack.html) iPhone 용이지만 핵심 데이터 스택이 아마도 동일했다고 생각합니다 ... – Fafnr

관련 문제