this easier iphone devs familiar coredata not , know how access data within crucial deadline.
this core data once set nsmutablearray
, pulled nslog
questions list km: ( "<question: 0x8589630> (entity: question; id: 0x8588820 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/question/p1> ; data: {\n orderid = 0;\n project = \"0x818e300 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/project/p1>\";\n question = \"what ...? \";\n strategy = \"<relationship fault: 0x8264930 'strategy'>\";\n})", "<question: 0x85898d0> (entity: question; id: 0x8588830 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/question/p2> ; data: {\n orderid = 1;\n project = \"0x818e300 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/project/p1>\";\n question = \"how ...? \";\n strategy = \"<relationship fault: 0x826fa60 'strategy'>\";\n})", "<question: 0x8589930> (entity: question; id: 0x8588840 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/question/p3> ; data: {\n orderid = 2;\n project = \"0x818e300 <x-coredata://fdc76465-4884-473a-b46a-3451bcb74f5c/project/p1>\";\n question = \"where ...? \";\n strategy = \"<relationship fault: 0x826c430 'strategy'>\";\n})" )
i able pull array below:
// fetch , sort questions nsfetchrequest *request = [[nsfetchrequest alloc] init]; nsentitydescription *entity = [nsentitydescription entityforname:@"question" inmanagedobjectcontext:self.managedobjectcontext]; [request setentity:entity]; nssortdescriptor *sortdescriptor = [[nssortdescriptor alloc] initwithkey:@"orderid" ascending:yes]; nsarray *sortdescriptors = [[nsarray alloc] initwithobjects:sortdescriptor, nil]; [request setsortdescriptors:sortdescriptors]; nserror *error = nil; nsmutablearray *mutablefetchresults = [[self.managedobjectcontext executefetchrequest:request error:&error] mutablecopy]; if (mutablefetchresults == nil) { // handle error. nslog(@"no results in questions array."); } [self setquestionslist:mutablefetchresults];
here question.h or question definitions:
#import <foundation/foundation.h> #import <coredata/coredata.h> @class project, strategy; @interface question : nsmanagedobject @property (nonatomic, retain) nsnumber * orderid; @property (nonatomic, retain) nsstring * question; @property (nonatomic, retain) project *project; @property (nonatomic, retain) nsset *strategy; @end @interface question (coredatageneratedaccessors) - (void)addstrategyobject:(strategy *)value; - (void)removestrategyobject:(strategy *)value; - (void)addstrategy:(nsset *)values; - (void)removestrategy:(nsset *)values; @end
here strategy.h definitions:
#import <foundation/foundation.h> #import <coredata/coredata.h> @class question; @interface strategy : nsmanagedobject @property (nonatomic, retain) nsstring * strategy; @property (nonatomic, retain) question *question; @end
you can see in nslog of data there 3 questions
- question = \"what ...?
- question = \"how ...?
- question = \"where ...?
it shows there strategy section in relationship:
strategy = \"<relationship fault: 0x826c430 'strategy'>\
what need able access strategy , add single object of type nsstring.
once assigned need pull strategies nsmutablearray pushing uitableview.
i know lot take in apple guru sounds cake , ice cream.
if more information needed answer, please let me know in comments....a great stackoverflow member once told me
"sometimes hardest part finding right way ask question."
any appreciated!
i not sure if understand question correctly, accessing strategies question done via accessor methods. (note strategy
to-many relationship, better name strategies
, , use here)
question *thequestion = ... // nsset *strategiesasset = thequestion.strategies; // set of related strategy objects // or: nsarray *strategiesasarray = [thequestion.strategies allobjects]; // array of related strategy objects.
to add strategy, have create object:
strategy *newstrategy = [nsentitydescription insertnewobjectforentityforname:@"strategy" inmanagedobjectcontext:context];
and set relationship. can either set
newstrategy.question = thequestion;
or alternatively,
[question addstrategyobject:newstrategy];
due nature of inverse relationships, these 2 operations equivalent, 1 implies other.
Comments
Post a Comment