ios - NSManagedObject 的描述显示值,但访问它们显示 NaN?

标签 ios core-data nsmanagedobject nan core-data-migration

我在这里找到了一个excellent solution用于在迁移模型时创建关系。我在模型本身中遇到了一个奇怪的问题。

-(BOOL)createRelationshipsForDestinationInstance:(NSManagedObject *)dInstance entityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError *__autoreleasing *)error
{
    NSError *superError = nil;
    BOOL ismappingSuccess = [super createRelationshipsForDestinationInstance:dInstance entityMapping:mapping manager:manager error:&superError];
    if (ismappingSuccess && [dInstance.entity.name isEqualToString:@"FTEvent"]){
        FTEvent *event = (FTEvent*)dInstance;
        NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:event.date_time];

...

这里有一个奇怪的问题 event.date_time 我期待一个值,但在调试器中它显示该值为 (NsTimeInterval) NaN 而不是实际值值。

但是,当我打印事件描述时,我可以清楚地看到提供的日期值。当我执行 event.date_time 时,它怎么可能显示 NaN

Printing description of event:
<NSManagedObject: 0xbbb9b80> (entity: FTEvent; id: 0xbbbab90 <x-coredata://069BC324-2002-4DBA-879A-DC085C645903/FTEvent/p1> ; data: {
    "date_time" = "2014-04-10 23:00:00 +0000";
    "is_deleted" = 0;
    key = "4F6646FF-4110-427F-B2FD-3CFCAF777793";
    notes = Fdsfdsfd;
    rating = 1;
    record = nil;
    timestamp = "2045-04-11 01:19:06 +0000";
})

FTEvent:

@class FTRecord;

@interface FTEvent : NSManagedObject
{
    BOOL is_edited;
}

@property (nonatomic) NSTimeInterval date_time;
@property (nonatomic) BOOL is_deleted;
@property (nonatomic, retain) NSString * key;
@property (nonatomic, retain) NSString * notes;
@property (nonatomic) int16_t rating;
@property (nonatomic) NSTimeInterval timestamp;
@property (nonatomic, retain) FTRecord *record;

最佳答案

我刚刚找到了。它可以作为键/值对进行访问。

错误:

[event date_time]

正确:

NSDate *date_time = [event valueForKey:@"date_time"];

我有错误的印象,它会使用模型上的属性。

关于ios - NSManagedObject 的描述显示值,但访问它们显示 NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23021817/

相关文章:

ios - 将核心数据嵌入静态库

ios - 核心数据阻止保存

ios - 如何在 View 中绘制没有边距的字符串?

ios - 如何为 CoreData 中的 NSManaged 属性赋予初始值?

ios - 如何在 Sprite Kit、Objective C 中用手指移动来击打物体

ios - 在 iCloud 环境中检测应用程序 (IOS/OSX) 的首次运行

ios - 核心数据更改是否反射(reflect)在本地 NSManagedObject 子类变量中?

ios - 使用核心数据访问检索到的托管对象中的数据

ios - UIWebView webCore 在 iOS7.1 中崩溃(例如 : www. latimes.com)

ios - 如何仅在首次启动时显示 View ?