ios objective-c core-data ios7

ios - El tipo de receptor es declaración directa



objective-c core-data (6)

Tengo este código (junto con otras cosas):

- (NSManagedObjectContext *) managedObjectContext { assert([NSThread isMainThread]); if (_managedObjectContext != nil) { return _managedObjectContext; } NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; if (coordinator != nil) { _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator: coordinator]; } return _managedObjectContext; }

Estas líneas me están dando errores de que el mensaje de clase es una declaración de reenvío:

_managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator: coordinator];

¿Qué es esto y cómo lo arreglo?


Agregue esto a la parte superior de su archivo .h o .m

#import <CoreData/CoreData.h>


Cambio de archivo DDXML.h y Trabajo.

Archivo: DDXML.h

Cambio:

#if TARGET_OS_IPHONE && 0 // Disabled by default

A:

#if TARGET_OS_IPHONE && 1 // Disabled by default


Debe importar CoreData / CoreData.h en el archivo Supporting Files / YourApp-Prefix.pch:

#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> #endif


Esto me sucede con frecuencia después de cambiar el nombre de una clase y luego olvidarme de actualizar @class myclass en un archivo de encabezado (que obviamente no generará un error de compilación).


Por Declaración de reenvío significa que debe estar declarando clase por @Class . Importe la clase en el archivo .h / .m y espere que se resuelva el problema.


Resolví el problema al importar el archivo #import "Project-Name-Swift.h" en la clase de Objective C que usa una clase Swift.