相关疑难解决方法(0)

NSOrderedSet生成的访问器抛出异常

在我的Lion应用程序中,我有这个数据模型:

在此输入图像描述

subitems里面的关系Item 是有序的.

的Xcode 4.1(建4B110)为我创建的文件Item.h,Item.m,SubItem.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;
- …
Run Code Online (Sandbox Code Playgroud)

cocoa core-data xcode4

364
推荐指数
11
解决办法
5万
查看次数

自定义核心数据生成的访问者

我已经设置了一个简单的核心数据模式,其中项目对象被添加到列表对象中.生成类后,核心数据生成了标准访问器,包括将项添加到列表中的几种方法(list.addItemsObjects和list.addItems :).

我还想为每个项目添加一个'dateAdded'NSDate.现在,我可以在每次创建对象时手动设置它,因为核心数据将为我提供item.dateAdded访问器.但实际上,我更希望这是由列表本身处理的,因为实现永远不会改变.所以每次调用list.AddItemObject时,我都希望它同时设置item的dateAdded属性.我想我也需要在反向中做同样的事情,以便item.setList也设置dateAdded.

我不知道该怎么做.我是否应该尝试重新定义现有的核心数据生成的访问器?如果是这样,我该怎么做(有人在我的自定义代码中调用原始实现,以便处理反向关系,以及任何其他核心数据必需品)?或者有更好的方法来定制这些方法吗?

core-data objective-c ios

9
推荐指数
1
解决办法
5865
查看次数

标签 统计

core-data ×2

cocoa ×1

ios ×1

objective-c ×1

xcode4 ×1