your tag manager googletagmanager google from for container apps objective-c core-data

objective-c - from - pod googletagmanager



declaraciĆ³n de interfaz duplicada para la clase ''test_coredataAppDelegate'' (5)

dos errores se activaron repentinamente en este fragmento de código: declaración de interfaz duplicada para la clase ''test_coredataAppDelegate'' - redefinición de ''struct test_coredataAppDelegate''

#import <UIKit/UIKit.h> #import <CoreData/CoreData.h> @interface test_coredataAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { ///////////////////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

como arreglar eso por favor

Atentamente


En mi caso sustituyendo

#import "Mixpanel.h"

a

#import <Mixpanel/Mixpanel.h>

Resuelto el error


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


Hay dos posibilidades:

  • Tienes dos interfaces con el mismo nombre. Use la opción de menú Buscar de Xcode en el proyecto para encontrar instancias de test_coredataAppDelegate . Luego renombra una de las interfaces
  • de alguna manera has logrado importar el archivo .h dos veces. Asegúrese de usar siempre #import y no #include .

Editar:

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

#include incluye ciegamente el archivo en la ubicación de la declaración #include . Esto significa que si #include un archivo dos veces en su .m obtendrá dos copias del archivo. Casi todos los archivos de C #include tradicionales tienen algo como lo siguiente que incluye entre corchetes 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 conoce como una macro de guarda de inclusión.

En Objective-C, si #import importa un archivo, el compilador realiza una comprobación para asegurarse de que no se haya importado ya. En consecuencia los guardias suelen ser omitidos. Por lo tanto, si #include un archivo que se suponía que debía #import , no se realizará ninguna comprobación y, a veces, obtendrá definiciones duplicadas.


He eliminado la clase de modelo de fecha y crear una nueva y se ha solucionado el problema. También eliminar del directorio del proyecto.


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, péguelo nuevamente y agregue ese archivo al proyecto nuevamente :)