Ali*_*Ali 24 core-data objective-c
在这段代码中突然发生了两个错误 - 类'test_coredataAppDelegate'的重复接口声明 - 重新定义'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
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题
最好的祝福
Jer*_*myP 59
有两种可能性:
test_coredataAppDelegate.然后重命名其中一个接口#import而不是#include.编辑:
关于#import/的更多信息#include:
#include盲目地在#include声明的位置包含文件.这意味着如果你#include在你的文件中两次,.m你将获得该文件的两个副本.几乎所有传统的C #include文件都包含以下所有内容:
// some_file.h
#if !defined SOME_FILE_H
#define SOME_FILE_H
// entire content of #include file
#endif
Run Code Online (Sandbox Code Playgroud)
以上有时被称为包含保护宏.
在Objective-C中,如果您#import是文件,编译器将执行检查以确保它尚未导入.因此通常省略防护装置.因此,如果你#include是一个应该被#import编辑的文件,那么两个检查都不会完成,你有时会得到重复的定义.
在我的情况下更换
#import "Mixpanel.h"
Run Code Online (Sandbox Code Playgroud)
到
#import <Mixpanel/Mixpanel.h>
Run Code Online (Sandbox Code Playgroud)
解决了错误
| 归档时间: |
|
| 查看次数: |
45786 次 |
| 最近记录: |