Question

Je sais que cela ne fait pas de sens, mais je reçois une erreur vraiment étrange dans un bâtiment iPhone App J'utilise Core Data et appeler CGRectOffset. méthode des regards comme des didFinishLaunchingWithOptions Mon App Déléguez:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Setup the Managed Object Context
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
    // Do something - Like exit
}

//Load up the database form a pList
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"tJournals" ofType:@"plist"];
NSMutableArray *plistJournals = [NSMutableArray arrayWithContentsOfFile:plistPath];

//Create a bunch of journals
for (NSDictionary *journal in plistJournals) {
    [TJournal journalWithDictionary:journal inManagedObjectContext:context];
}

NSError *error = nil;
[context save:&error];

// ------ Create the View Controller ------
// The Scrolling List
JournalListVC *jvc = [[JournalListVC alloc] init];

// Adjust for the Status Bar's height
CGRect viewFrame = CGRectOffset(jvc.view.frame, 0.0, 20.0);
jvc.view.frame = viewFrame;

jvc.managedObjectContext = context;

// Add the View Controller to the screen
[self.window addSubview:jvc.view];
[self.window makeKeyAndVisible];

return YES;
}

À l'heure actuelle, l'application se bloque avec l'erreur suivante lorsque je quitte le CGRect viewframe ligne:

"Mettre fin à l'application du fait exception uncaught 'NSInternalInconsistencyException', raison: '+ entityForName: ne pouvait pas trouver un NSManagedObjectModel pour le nom de l'entité 'TJournal''"

Si je commente la ligne CGRect, il fonctionne très bien. L'appel à l'intérieur de la boucle for exécute très bien (il écrire ses données à un nom d'entité de données de base DB TJournal et fait exactement ce qu'il est censé.) De toute évidence, il n'y a pas de dépendance sur les données de base pour CGRectOffset, donc je devine que cette erreur est faux. Mais je ne peux pas, pour la vie de moi, comprendre.

J'ai essayé de nettoyer toutes les cibles, effaçant la base de données dans le simulateur, etc. Mais rien ne semble fonctionner.

Toutes les idées? Merci!

Était-ce utile?

La solution

Notez que lorsque vous faites référence à jvc.view.frame, il se charge de façon dynamique le point de vue de jvc. Si le contenu de la vue (ou)! Xib ont une dépendance à l'égard d'un contexte d'objet géré quand il est chargé, qui pourrait produire l'erreur.

Essayez de déplacer la ligne de jvc.managedObjectContext = context; à droite après JournalListVC *jvc = [[JournalListVC alloc] init];.

(PS:. Votre point de vue ne devrait pas rendre compte de la barre d'état, au contraire, votre UIWindow devrait le faire, et le cadre de la vue du contrôleur de votre vue devrait juste être les limites de la fenêtre)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top