iphone - Storing int32 in Core Data model and Cocoa Error 1660 -
edit: able fix presentation thing changing nslog present actual int rather pointer.
nslog(@"id: %i", [[info valueforkey:@"idq"] intvalue]);
still have cocoa error 1660 solve??
i doing first tests core data , using (http://www.raywenderlich.com/934/core-data-tutorial-getting-started) tutorial.
i have tried own tests , successful. however, int32 (only 32 because of tutorial) resulting in strange number. suspect has nsnumber. cocoa error 1660 believe has todo long number in output (input = 1 , output = 95518976). guess question of being pointer , needs present correctly, error.
could nice give me hint how fix this?
- (void)testingdbmodel { nslog(@">>testingdbmodel<<"); //=================database===================// // id // qdiff // question // qrightanswer // qwronganswer1 // qwronganswer2 // qnr // qregdate if (managedobjectcontext == nil) { managedobjectcontext = [(famquiz_v2appdelegate *) [[uiapplication sharedapplication] delegate] managedobjectcontext]; } nsmanagedobjectcontext *context = [self managedobjectcontext]; nsmanagedobject *famquizinfo = [nsentitydescription insertnewobjectforentityforname:@"questions" inmanagedobjectcontext:context]; [famquizinfo setvalue:[nsnumber numberwithint:1] forkey:@"idq"]; [famquizinfo setvalue:@"qdiff1" forkey:@"qdiff"]; [famquizinfo setvalue:@"question1" forkey:@"question"]; [famquizinfo setvalue:@"qrightanswer1" forkey:@"qrightanswer"]; [famquizinfo setvalue:@"qwronganswer1_1" forkey:@"qwronganswer1"]; [famquizinfo setvalue:@"qwronganswer2_2" forkey:@"qwronganswer2"]; [famquizinfo setvalue:@"999" forkey:@"qnr"]; [famquizinfo setvalue:[nsdate date] forkey:@"qregdate"]; nserror *error; if (![context save:&error]) { nslog(@"whoops, couldn't save: %@", [error localizeddescription]); } //==========read database==============// nsfetchrequest *fetchrequest = [[nsfetchrequest alloc] init]; nsentitydescription *entity = [nsentitydescription entityforname:@"questions" inmanagedobjectcontext:context]; [fetchrequest setentity:entity]; nsarray *fetchedobjects = [context executefetchrequest:fetchrequest error:&error]; (nsmanagedobject *info in fetchedobjects) { nslog(@"id: %i", [info valueforkey:@"idq"]); nslog(@"qdiff: %@", [info valueforkey:@"qdiff"]); nslog(@"question: %@", [info valueforkey:@"question"]); nslog(@"qrightanswer: %@", [info valueforkey:@"qrightanswer"]); nslog(@"qwronganswer1: %@", [info valueforkey:@"qwronganswer1"]); nslog(@"qwronganswer2: %@", [info valueforkey:@"qwronganswer2"]); nslog(@"qnr: %@", [info valueforkey:@"qnr"]); nslog(@"qregdate: %@", [info valueforkey:@"qregdate"]); } [fetchrequest release]; }
the output:
2010-12-03 01:11:54.097 test_v2[11177:207] >>testingdbmodel<<
2010-12-03 01:11:54.104 test_v2[11177:207] whoops, couldn't save: operation couldn’t completed. (cocoa error 1660.)
2010-12-03 01:11:54.112 test_v2[11177:207] id:1
2010-12-03 01:11:54.112 test_v2[11177:207] qdiff: qdiff1
2010-12-03 01:11:54.113 test_v2[11177:207] question: question1
2010-12-03 01:11:54.113 test_v2[11177:207] qrightanswer: qrightanswer1
2010-12-03 01:11:54.114 test_v2[11177:207] qwronganswer1: qwronganswer1_1
2010-12-03 01:11:54.114 test_v2[11177:207] qwronganswer2: qwronganswer2_2
2010-12-03 01:11:54.114 test_v2[11177:207] qnr: 999
2010-12-03 01:11:54.116 test_v2[11177:207] qregdate: 2010-12-03 01:11:54 +0100
cocoa error 1660 = constraint error. check if not of data fields in database constrained. got error , fixed when notieced trying put 20 characters in field had limit of 10 characters...
Comments
Post a Comment