覆盖核心数据 属性 的方法:isDeleted
Approach to overriding a Core Data property: isDeleted
我想覆盖 NSManagedObject
中的 isDeleted
属性 因为它没有在我的应用程序中使用,而且过去不小心使用过它,微妙引入了错误。考虑到这个目标,我正在考虑做类似下面的事情,并简单地让我所有的 NSManagedObject
类型继承自这个父级。这是我想要做的事情的最佳方法吗?
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted;
@end
@implementation CustomManagedObject
- (BOOL)isDeleted
{
NSAssert(FALSE, @"Did you mean isDeleted, because that is not allowed...!");
}
// ....
@end
我认为以下内容更优雅:
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted __attribute__((unavailable));
@end
或
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted __attribute__((deprecated));
@end
试试看。
我想覆盖 NSManagedObject
中的 isDeleted
属性 因为它没有在我的应用程序中使用,而且过去不小心使用过它,微妙引入了错误。考虑到这个目标,我正在考虑做类似下面的事情,并简单地让我所有的 NSManagedObject
类型继承自这个父级。这是我想要做的事情的最佳方法吗?
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted;
@end
@implementation CustomManagedObject
- (BOOL)isDeleted
{
NSAssert(FALSE, @"Did you mean isDeleted, because that is not allowed...!");
}
// ....
@end
我认为以下内容更优雅:
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted __attribute__((unavailable));
@end
或
@interface CustomManagedObject : NSManagedObject
@property (nonatomic, getter=isDeleted, readonly) BOOL deleted __attribute__((deprecated));
@end
试试看。