gpt4 book ai didi

objective-c - 使用 KVC 从 Core Data 检索 NSDate 对象时出现问题

转载 作者:行者123 更新时间:2023-11-30 13:46:49 24 4
gpt4 key购买 nike

我将日期作为 NSDate 对象存储在核心数据中。当我尝试使用获取请求和 -(id)valueForKey: 检索它们时,我得到一个整数而不是 NSDate 对象。

NSError *error = nil;
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];
NSManagedObject *entity = [results lastObject];
NSDate *date = [entity valueForKey:@"updated"];

当我使用点符号(例如 myEntity.updated)时,我正确地得到了 NSDate 对象,但当我使用 KVC 方法时却没有。

我想使用 -(id)valueForKey: 的原因是因为我在核心数据中的每个实体上运行此代码,并且我不想显式定义每个实体。或者,我可以编写一堆 if 语句来测试 isKindOfClass,但这需要大量代码,而且看起来有点 hackish。

如有任何建议,我们将不胜感激。

最佳答案

您不得将托管对象属性称为“已更新”,因为这与NSManagedObjectisUpdated 方法。

如果您调用并属性“已删除”,也会出现类似的问题,比较Core Data NSPredicate "deleted == NO" does not work as expected进行简短分析。

重命名属性应该可以解决您的问题。不幸的是,Xcode 不会对此发出警告。

关于objective-c - 使用 KVC 从 Core Data 检索 NSDate 对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34825847/

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