新しいXcode 4.2(iOS 5用)に更新されましたが、今度はプロジェクトが「 'カテゴリ'が別のシンボルとして再宣言されました」というエラーでビルドされなくなりました。それから、 'メンバー' name 'のリクエストは、構造体または共用体ではなく、 "無効なレシーバタイプ' Category ''のような警告ではないというエラーのホストがあります。クラスの宣言
私は宣言の仕方と関係があると思います。この(コアデータ)クラスについて、私は、次の宣言を持っている:
#import <CoreData/CoreData.h>
@class Article;
@interface Category : NSManagedObject
{
}
@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * desc;
@property (nonatomic, retain) NSDate * lastUpdate;
@property (nonatomic, retain) NSSet* articles;
@end
@interface Category (CoreDataGeneratedAccessors)
- (void)addArticlesObject:(Article *)value;
- (void)removeArticlesObject:(Article *)value;
- (void)addArticles:(NSSet *)value;
- (void)removeArticles:(NSSet *)value;
@end
-
#import "Category.h"
@implementation Category
@dynamic id;
@dynamic name;
@dynamic desc;
@dynamic lastUpdate;
@dynamic articles;
@end
- 別のコアデータ持つクラスにおいて
:私が使用Nリレーション"@class Category;"宣言する。 私はこのクラスを使用するクラスで、ヘッダファイルをインポートします:#import "Category.h"。
これを行う最善の方法は何か、または問題を見つけるために必要な情報は何か。私はあらゆる種類の組み合わせを試しましたが、宣言する時期と方法を今混乱させています。 (コードは罰金私が構築最後の時間を働いていた)
ありがとうAhruman。私はそれに精通していない、どのように私はこれを変更するだろうか?自分のCategoryクラスのクラス名を変更しますか? (私は比較的ココアに新しい、Javaの世界から来ています) –
また、問題は、CoreDataオブジェクトであり、ユーザーが新しいバージョンに更新するときにデータベースを破損するので、簡単にクラスを屈折させることができないということです。あなたのCoreDataモデルの新しいバージョンを作成し、古いモデルから新しいモデルに移行することができます(クラスの名前はテーブル名の変更を意味します) –
@Luuk D. Jansen。 – jamapag