Trên ứng dụng Lion của tôi, tôi có mô hình dữ liệu này:
Mối quan hệ subitems
bên trong Item
được ra lệnh .
Xcode 4.1 (build 4B110) đã tạo ra cho tôi những tập tin Item.h
, Item.m
, SubItem.h
và SubItem.h
.
Đây là nội dung (tự phát) của 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
Và đây là nội dung (tự phát) của Item.m
:
#import "Item.h"
#import "SubItem.h"
@implementation Item
@dynamic name;
@dynamic subitems;
@end
Như bạn có thể thấy, lớp Item
cung cấp một phương thức được gọi addSubitemsObject:
. Thật không may, khi cố gắng sử dụng nó theo cách này:
Item *item = [NSEntityDescription insertNewObjectForEntityForName:@"Item" inManagedObjectContext:self.managedObjectContext];
item.name = @"FirstItem";
SubItem *subItem = [NSEntityDescription insertNewObjectForEntityForName:@"SubItem" inManagedObjectContext:self.managedObjectContext];
[item addSubitemsObject:subItem];
lỗi này xuất hiện:
2011-09-12 10:28:45.236 Test[2002:707] *** -[NSSet intersectsSet:]: set argument is not an NSSet
Bạn có thể giúp tôi được không?
Cập nhật:
Chỉ sau 1.787 ngày kể từ báo cáo lỗi của tôi, hôm nay (1 tháng 8 năm 2016) Apple đã viết cho tôi điều này: "Vui lòng xác minh sự cố này với bản dựng iOS 10 beta mới nhất và cập nhật báo cáo lỗi của bạn tại bugreport.apple.com với kết quả của bạn." . Hãy hy vọng đây là thời điểm thích hợp :)
mutableOrderedSetValueForKey:
)