我搜索了整个互联网,但没有找到答案;在编辑列表时的消息中,会出现一个带有按钮的附加面板,请参见图片。
我不明白,这是 UITableView 的原生功能吗?(可能不是)或者它是位于表格顶部的单独视图?告诉我,至少我在朝正确的方向挖掘。我用 Swift 做所有事情。
比方说,有一堂课Item
。它有许多属性,所有这些都存储在 CoreData 中。在 Swift 下有一个像这样的类初始化器:
convenience init(title: String, consistOf: String, price: Int, iconImage: NSData?, id: String, imageURL: String?) {
self.init(context: CoreDataHelper.shared.container.viewContext)
self.title = title
self.consistOf = consistOf
self.price = price
self.iconImage = iconImage
self.id = id
self.imageURL = imageURL
}
Objective-C 有一个原生的-(id)initWithContext:(NSManagedObjectContext *)moc
,但它初始化时没有属性,它不适合我。
如何编写正确的初始化程序以Item
在上下文和属性中创建对象?
我有上下文[CoreDataHelper sharedInstance].context
。
我根据 Apple 网站的说明在 CoreData Stack 应用程序中进行了操作:
@interface MyDataController : NSObject
@property (strong, nonatomic, readonly) NSPersistentContainer *persistentContainer;
- (id)initWithCompletionBlock:(CallbackBlock)callback;
@end
@implementation MyDataController
- (id)init
{
self = [super init];
if (!self) return nil;
self.persistentContainer = [[NSPersistentContainer alloc] initWithName:@"DataModel"];
[self.persistentContainer loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *description, NSError *error) {
if (error != nil) {
NSLog(@"Failed to load Core Data stack: %@", error);
abort();
}
callback();
}];
return self;
}
遇到了问题,persistentContainer
有属性readonly
,并且在
self.persistentContainer = [[NSPersistentContainer alloc] initWithName:@"DataModel"];
不允许自己被覆盖,怎么办?
我正确理解@interface
.h 文件和@implementation
.m 中的内容?