statement de interfaz duplicada para la clase ‘test_coredataAppDelegate’

dos errores aparecieron repentinamente en este fragmento de código: statement de interfaz duplicada para la clase ‘test_coredataAppDelegate’ – redefinición de ‘struct test_coredataAppDelegate’

#import  #import  @interface test_coredataAppDelegate : NSObject  { ///////////////////New parts ///////////////////////// NSManagedObjectModel *managedObjectModel; NSManagedObjectContext *managedObjectContext; NSPersistentStoreCoordinator *persistentStoreCoordinator; ////////////////////////////////////////////// UIWindow *window; UITabBarController *tabBarController; } @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet UITabBarController *tabBarController; @end 

cómo arreglar eso por favor

Atentamente

Hay dos posibilidades:

  • tienes dos interfaces con el mismo nombre. Use la opción del menú Buscar de Xcode en el proyecto para encontrar instancias de test_coredataAppDelegate . A continuación, cambie el nombre de una de las interfaces
  • de alguna manera has logrado importar el archivo .h dos veces. Verifique para asegurarse de que siempre use #import y no #include .

Editar:

Un poco más de información sobre #import / #include :

#include ciegamente incluye el archivo en la ubicación de la instrucción #include . Esto significa que si #include un archivo dos veces en su .m obtendrá dos copias del archivo. Casi todos los archivos tradicionales C #include tienen algo así como el siguiente entre corchetes de todo el contenido:

 // some_file.h #if !defined SOME_FILE_H #define SOME_FILE_H // entire content of #include file #endif 

Lo anterior a veces se denomina macro de protección de inclusión.

En Objective-C, si importa un archivo, el comstackdor realiza una comprobación para asegurarse de que no se haya importado. En consecuencia, los guardias suelen omitirse. Por lo tanto, si #include un archivo que se suponía que debía #import , ninguna de las dos opciones se verificará y algunas veces obtendrá definiciones duplicadas.

Esto sucede porque tienes una copia de ese recurso en tu buscador. No es necesario haberlo agregado en su proyecto. Debería encontrar en su buscador los archivos con el mismo nombre y eliminar los archivos duplicados.

En mi caso reemplazando

 #import "Mixpanel.h" 

a

 #import  

Resolvió el error

Tengo la solución para esta primera copia de ese archivo, por ejemplo, video.m está dando este error, así que copie este archivo y elimine ese archivo y simplemente péguelo nuevamente y agregue ese archivo para proyectar nuevamente 🙂

Eliminé la clase de modelo de fecha y creé una nueva y problema solucionado. también eliminar del directorio del proyecto.