two errors suddenly fired in this piece of code - duplicate interface declaration for class \'test_coredataAppDelegate\' - redefinition of \'struct test_coredataAppDelegat
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 #imported, neither check will be done and you will sometimes get duplicate definitions.