我有一个使用核心数据的 iOS 应用程序。我已经建立了我的NSManagedObjectModel
. 我在那里有一个 NEOrder 实体。我已经生成了 NSManagedObject 子类。
@interface NEOrder : NSManagedObject
@property //....
@end
我有一个 UIViewController 的子类。这需要具有 NEOrder 类型的实例变量。但我希望它表现得像一个常见的自定义对象:
@interface NEOrder : NSObject
@property //....
@end
当然,它可以通过创建另一个 .h 和 .m 文件来完成,其中声明 NEOrder_ 子类化 NSObject 。但是这个文件会非常类似于核心数据生成的 NSObjectModels,除了 @synthesize/@dynamic 和 init 方法。我不想做两次工作。请帮帮我,怎么办?
如果我将 init 添加到生成的 NEOrder 应用程序会崩溃:
-(id)init
{
if (self=[super init])
{
self.name=[[NSString alloc] init];
self.phone=[[NSString alloc] init];
self.weight=[[NSNumber alloc] init];
self.fromDirection=[[NEDirection alloc] init];
self.toDirection=[[NEDirection alloc] init];
}
return self;
}
还有几句话是关于我想如何使用它的。
//NEOrder *order is an instance of view controller
self.order=[NEOrder alloc] init]
//...
self.order.name=@"order name";
self.order.phone=@"12344321";
是否可以?或者我必须为此创建一个单独的 NSObject 子类?