gpt4 book ai didi

objective-c - 访问 NSManagedObject 中的关系对象时出现问题

转载 作者:行者123 更新时间:2023-12-03 16:56:08 26 4
gpt4 key购买 nike

我的托管对象有一个名为items的关系。我的子类有一个名为 itemCount 的方法。不幸的是,我尝试获取 items 关系中的对象计数始终返回 0。以下是相关代码:

@interface List : NSManagedObject {}

@property (nonatomic, retain) NSSet* items;
@property (nonatomic, readonly) NSNumber * itemCount;

@end

@implementation List

@dynamic items;

- (NSNumber *)itemCount
{
NSNumber * tmpValue;

NSSet *items = self.items;
if (items = nil) {
return 0;
}
tmpValue = [NSNumber numberWithInt:[items count]];

return tmpValue;
}

@end

当我遍历 itemCount 方法时,它似乎工作得很好,但 self.items 计数始终返回零对象。有什么想法吗?

最佳答案

首先,您在 if 语句中将 nil 分配给 items。您需要 if (items == nil) (或 if (!items))。当发生奇怪的事情时,始终使用调试器单步执行代码以测试逻辑。

其次,您可以使用键路径 @"@count.items" 获取计数,而无需使用 -itemCount 方法。您还可以执行 self.items.count (因为 countitems 设置为 items 的属性self 的属性,相当于 [[self items] count])。

关于objective-c - 访问 NSManagedObject 中的关系对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986760/

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