I have a synthesized NSMutableArray – theResultArray . I want to insert NSNumber or NSInteger objects at specific indexes (0-49). For some reason I can never get any values to stick in my array. Every index returns nil or 0.
NSInteger timeNum = time;
[theResultArray insertObject:[NSNumber numberWithInt:timeNum] atIndex:rightIndex];
NSLog(@"The right index is :%i", rightIndex);
NSLog(@"The attempted insert time :%i", time);
NSNumber *testNum = [theResultArray objectAtIndex:rightIndex];
NSLog(@"The result of time insert is:%i", [testNum intValue]);
I alloc-init theResultsArray in viewDidLoad. Time is an integer. I have been trying different combinations of the code above to no avail.
The console outputs this:
StateOutlineFlashCards[20389:20b] The right index is :20
StateOutlineFlashCards[20389:20b] The attempted insert time :8
StateOutlineFlashCards[20389:20b] The result of time insert is:0
You need to allocate memory for the array in your init or viewDidLoad method, otherwise you won’t be able to store anything at all.
If you do this:
Or this:
It should work for you.
As for storing integers in an NSMutableArray, I took a simple but somewhat “hackish” approach recently. I store them as strings. When I put them in I use:
And when I take them out I convert with:
It was really easy to implement but depending on the context you may want to use another way.