gpt4 book ai didi

ios - 删除 NSManagedObject 时无法识别的选择器

转载 作者:行者123 更新时间:2023-11-28 19:06:19 27 4
gpt4 key购买 nike

我想通过先获取对象来删除核心数据对象,所以

在 FetchObject.m 中

- (void) actionDelete {
AModel *aModel = [[aModel alloc] init];
AObj *aObj = [aModel readDataWithAttributeName:@"keyword" attributeValue:@"value"];

[aModel deleteObject:aObj];
}

aObj 确实获取并获得了。
在 AModel.m 中

- (void)deleteObject:(AObj *)aObj
{
[appDelegate.managedObjectContext delete:aObj];
NSError *error;
if (![appDelegate.managedObjectContext save:&error]) {
NSLog(@"Error: %@", [error description]);
}
}

但是,当我测试它的时候,这里出现了一个错误

-[NSManagedObjectContext delete:]: unrecognized selector sent to instance 0xa43ece0

稍微搜索一下解决方案后,似乎目标已在 deleteObject 之前被释放。有什么办法可以解决这个问题吗?

最佳答案

以下代码导致了问题:

[appDelegate.managedObjectContext delete:aObj];

替换为:

[appDelegate.managedObjectContext deleteObject:aObj];

NSManagedObjectContext没有delete方法,它只有一个deleteObject方法。

- (void)deleteObject:(NSManagedObject *)object

Parameters

object

A managed object.

Discussion

When changes are committed, object will be removed from the uniquing tables. If object has not yet been saved to a persistent store, it is simply removed from the receiver.

关于ios - 删除 NSManagedObject 时无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20136838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com