two errors suddenly fired in this piece of code - duplicate interface declaration for class 'test_coredataAppDelegate' - redefinition of '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
how to fix that please
Best regards
There are two possibilities:
test_coredataAppDelegate
. Then rename one of the interfaces#import
and not #include
.Edit:
A bit more info on #import
/#include
:
#include
blindly includes the file at the location of the #include
statement. This means that if you #include
a file twice in your .m
you will get two copies of the file. Almost all traditional C #include
files have something like the following bracketing all the content:
// some_file.h
#if !defined SOME_FILE_H
#define SOME_FILE_H
// entire content of #include file
#endif
The above is sometimes referred to as an include guard macro.
In Objective-C, if you #import
a file, a check is performed by the compiler to make sure it has not already been imported. Consequently the guards are usually omitted. So if you #include
a file that was supposed to be #import
ed, neither check will be done and you will sometimes get duplicate definitions.
This happen because you have a copy of that resource in your finder. It is not necessary had added it in your project. You should find in your finder the files with the same name and delete the files duplicated.
In my case replacing
#import "Mixpanel.h"
to
#import <Mixpanel/Mixpanel.h>
Resolved the error
I have got the solution for this first copy that file for example video.m is giving this error so copy this file and delete that file and just paste it again and add that file to project again :)
I deleted date model class and create new one and issue fixed. also delete from project directory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With