ios - Releasing Returned object Error in Objective-c -
i have code wherein allocate nsmutableindexset , return object inside set used other methods. here code:
nsmutableindexset *indexes = [nsmutableindexset new];
for (nsnumber * number in bookmarksarray) { [indexes addindex:[number intvalue]]; } return indexes;
upon researching on how release returned objects, edited code above this:
return [indexes autorelease];
however, gave me error saying message sent deallocated instance. should this? suggestions?
the problem maybe instance got method not retained if set ivar or so.
return [indexes autorelease]; //this ok.
but within other methods, call method indexes, if want returned instance indexes remain out of method, should retain it. because instance got autoreleased, dealloced out of method generally.(next run loop here)
nsmutableindexset *ivarindexes; - (void)othermethod { ivarindexes = [[self getbookmarkindexes] retain]; //for later use }
Comments
Post a Comment