NSOrderedSet で生成されたアクセサーで例外がスローされる 質問する

NSOrderedSet で生成されたアクセサーで例外がスローされる 質問する

私の Lion アプリには、次のデータ モデルがあります。

ここに画像の説明を入力してください

subitems内部の関係はItem 秩序立っています

Xcode 4.1 (ビルド 4B110) によって、、、およびファイルが作成されましたItem.hItem.mSubItem.hSubItem.h

以下は (自動生成された) の内容ですItem.h:

#import <Foundation/Foundation.h>

#import <CoreData/CoreData.h>

@class SubItem;

@interface Item : NSManagedObject {
@private
}

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSOrderedSet *subitems;
@end

@interface Item (CoreDataGeneratedAccessors)

- (void)insertObject:(SubItem *)value inSubitemsAtIndex:(NSUInteger)idx;
- (void)removeObjectFromSubitemsAtIndex:(NSUInteger)idx;
- (void)insertSubitems:(NSArray *)value atIndexes:(NSIndexSet *)indexes;
- (void)removeSubitemsAtIndexes:(NSIndexSet *)indexes;
- (void)replaceObjectInSubitemsAtIndex:(NSUInteger)idx withObject:(SubItem *)value;
- (void)replaceSubitemsAtIndexes:(NSIndexSet *)indexes withSubitems:(NSArray *)values;
- (void)addSubitemsObject:(SubItem *)value;
- (void)removeSubitemsObject:(SubItem *)value;
- (void)addSubitems:(NSOrderedSet *)values;
- (void)removeSubitems:(NSOrderedSet *)values;

@end

以下は (自動生成された) の内容ですItem.m:

#import "Item.h"
#import "SubItem.h"

@implementation Item

@dynamic name;
@dynamic subitems;

@end

ご覧のとおり、クラスにItemは というメソッドがありますaddSubitemsObject:。残念ながら、これを次のように使用しようとすると、

Item *item = [NSEntityDescription insertNewObjectForEntityForName:@"Item" inManagedObjectContext:self.managedObjectContext];
item.name = @"FirstItem";

SubItem *subItem = [NSEntityDescription insertNewObjectForEntityForName:@"SubItem" inManagedObjectContext:self.managedObjectContext];

[item addSubitemsObject:subItem];

このエラーが表示されます:

2011-09-12 10:28:45.236 Test[2002:707] *** -[NSSet intersectsSet:]: set argument is not an NSSet

手伝ってもらえますか?

アップデート:

バグ報告からわずか 1,787 日後、今日 (2016 年 8 月 1 日)、Apple から次のようなメールが届きました。「最新の iOS 10 ベータ ビルドでこの問題を確認し、結果を bugreport.apple.com のバグ報告に更新してください。」これが適切なタイミングであることを祈ります :)

ベストアンサー1

あなたのデータ モデルと、異なる名前の私自身のデータ モデルの両方を使用して、あなたの設定を再現しました。どちらの場合も同じエラーが発生しました。

Apple の自動生成コードにバグがあるようです。

おすすめ記事