获取核心数据得到正确的int值我发现了一个奇怪的问题,从获取核心数据数据时,数据I插入到核心数据是一个事件对象,标题,说明和localTime
可以正确显示。不能从iOS设备上
然而,localUTC
,int类型的值,例如,我插入到-2核心数据,但取出之际,成为-30。更离奇的是,在事件类的实例中,localUTC
值为-2,但在UITextField
显示它的时候,它变成-30
我使用的代码如下列表:
Event *event = [[utility getAllEvents] lastObject];
NSLog(@"%@", event); // log 1
_eventTitle.text = event.title;
_eventDesc.text = event.desc;
_eventTime.text = [NSString stringWithFormat:@"%@", event.localTime];
NSLog(@"%d", event.localUTC); // log 2
_eventUTC.text = [NSString stringWithFormat:@"%d", event.localUTC];
NSLog(@"%@", event); // log 3
NSLog(@"%d", event.localUTC); // log 4
日志:
2015-01-21 20:13:21.186 EventTest[3695:248822] <NSManagedObject: 0x7fe22a445c60> (entity: Event; id: 0xd000000000200000 <x-coredata://BC13045B-499A-4DE6-828F-3BACCFF56CF0/Event/p8> ; data: <fault>) // log 1: NSLog(@"%@", event);
2015-01-21 20:13:21.188 EventTest[3695:248822] -30 // log 2: NSLog(@"%d", event.localUTC);
2015-01-21 20:13:21.189 EventTest[3695:248822] <NSManagedObject: 0x7fe22a445c60> (entity: Event; id: 0xd000000000200000 <x-coredata://BC13045B-499A-4DE6-828F-3BACCFF56CF0/Event/p8> ; data: {
desc = "abcdefg\n\nhhhh\n\nxx\nsd\nd\nfsad\nf";
localTime = "2015-01-21 08:56:31 +0000";
localUTC = "-2";
title = "New event111";
}) // log 3: NSLog(@"%@", event); --NOTICE, the value of localUTC is "-2", but when display, it becomes -30
2015-01-21 20:13:21.189 EventTest[3695:248822] -30 // log 4: NSLog(@"%d", event.localUTC);
UPDATE
the code Event *event = [[utility getAllEvents] lastObject];
从NSManagedObject投,这是什么问题? [utility getAllEvents]返回NSManagedObject的NSArray(应该是)。我是Core Data的noob,现在肯定是否会导致问题。
更新2 问题是通过使用此代码固定:
[_eventUTC setText:[NSString stringWithFormat:@"%@", [event valueForKey:@"localUTC"]]];
,但我不知道为什么它解决了这个问题,任何人都可以指出来?
感谢您的帮助!问题解决了! – Alex 2015-01-21 11:05:17