3

つまり、「リスト」と呼ばれるエンティティと「タスク」と呼ばれるエンティティの 2 つがあります。それぞれに複数の属性と 1 つの関係があります。List の関係は「hasTasks」と呼ばれ、1 対多の関係です。

これは、私のために生成された Task.h ファイルです。

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

@class Task;

@interface List : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * number;
@property (nonatomic, retain) NSNumber * tasks;
@property (nonatomic, retain) NSNumber * totalTime;
@property (nonatomic, retain) NSSet *hasTasks;
@end

@interface List (CoreDataGeneratedAccessors)

- (void)addHasTasksObject:(Task *)value;
- (void)removeHasTasksObject:(Task *)value;
- (void)addHasTasks:(NSSet *)values;
- (void)removeHasTasks:(NSSet *)values;

@end

今、私が何かを呼び出すときはいつでも

[self.list addHasTasksObject:task];

この時点に到達すると、アプリがクラッシュします。これがなぜなのか、誰にも分かりますか?私のコードをもっと見る必要がある場合は、遠慮なく質問してください。前もって感謝します!

4

2 に答える 2

1

これと同じ問題があり、.xcdatamodeld ファイルで修正しました。NSManagedObject クラスを再生成せずに、リレーションシップの順序付き配置チェックボックスを誤って選択してしまいました。このボックスのチェックを外して再構築すると、この問題は解決しました。それでも問題が解決しない場合は、NSManagedObject クラスを再生成してみてください。

于 2014-02-20T06:44:33.347 に答える