[解決済み] クラス 'test_coredataAppDelegate' の重複したインターフェイス宣言
2022-02-17 13:32:26
質問
このコードで突然2つのエラーが発生しました。 - クラス '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
どうすればいいですか?
よろしくお願いします。
解決方法は?
2つの可能性があります。
-
同じ名前のインターフェイスが2つある。 Xcodeのfind in projectメニューオプションを使用して、以下のインスタンスを探します。
test_coredataAppDelegate
. 次に、インターフェースの1つをリネームします。 -
どうにかして、.h ファイルを 2 回インポートすることができました。 常に
#import
でなく#include
.
編集する。
についてもう少し詳しく
#import
/
#include
:
#include
の場所にあるファイルを盲目的にインクルードします。
#include
ステートメントを使用します。 つまり、もしあなたが
#include
の中に2回ファイルを挿入します。
.m
を実行すると、ファイルのコピーが2つ作成されます。 ほとんどすべての伝統的なC
#include
ファイルには、次のような括弧書きの内容がすべて含まれています。
// some_file.h
#if !defined SOME_FILE_H
#define SOME_FILE_H
// entire content of #include file
#endif
上記はインクルードガードマクロと呼ばれることもあります。
Objective-Cでは、もし
#import
を指定すると、コンパイラがそのファイルがまだインポートされていないことを確認するためのチェックが行われます。 その結果、ガードは通常省略されます。ですから、もし
#include
であるはずのファイルが
#import
を編集した場合、どちらのチェックも行われず、重複した定義が得られることがあります。
関連
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み] Objective-CのNSLog関数でNSString型を出力する方法とは?
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] NSNumberをNSStringに変換する方法
-
[解決済み] Objective-Cのnil、NIL、nullの違いについて
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] クラス vs. #インポート
-
[解決済み] Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UILabelのフォントサイズ?
-
[解決済み] カスタムメイドのフレームワークで「セレクタ 'Hello:'の既知のクラスメソッドがありません」というエラーが発生する。
-
[解決済み] アーキテクチャ i386 のシンボルが見つかりませんでした。
-
[解決済み] クラスメソッドとインスタンスメソッドの違いは何ですか?
-
[解決済み] Objective-CでNSArrayを逆引きするにはどうしたらいいですか?
-
[解決済み】Cocoaでスタックトレースをコンソール/ログに出力するにはどうすればいいですか?
-
[解決済み】isEqual:とハッシュをオーバーライドするためのベストプラクティス
-
[解決済み】Objective-C: パス文字列からファイル名を抽出する
-
[解決済み】Windows版Objective-C
-
[解決済み】なぜObjective-Cのファイルには.mという拡張子がついているのですか?