11

I am new to iPhone development. I want a Nsmutable array to hold numbers from 1 to 100. How can I do it? How can I implement in a for loop? Is there any other way to hold numbers in array in iPhone?

halfer
  • 19,824
  • 17
  • 99
  • 186
Warrior
  • 39,156
  • 44
  • 139
  • 214

3 Answers3

25

You can only add NSObject subclasses in Cocoa containers. In your case, you will have to wrap your integers in NSNumber objects:

NSMutableArray *array = [NSMutableArray array];
for( int i = 0; i < 100; ++i )
{
   [array addObject:[NSNumber numberWithInt:i]];
}

To extract the values:

int firstValue = [[array objectAtIndex:0] intValue];
Martin Cote
  • 28,864
  • 15
  • 75
  • 99
  • 1
    any idea how we would remove a number added this way if we dont know the index? im trying to use [array removeObjectIdenticalTo:i]; i have also tried [array removeObjectIdenticalTo:[i intValue]] and [array removeObjectIdenticalTo:[NSNumber numberWithInt:i]] – owen gerig Oct 25 '11 at 20:32
1

Use an NSNumber object:

[NSNumber numberWithInt:1];
coneybeare
  • 33,113
  • 21
  • 131
  • 183
0

The short hand solution

NSMutableArray *array = [NSMutableArray array];
for( int i = 0; i < 100; ++i )
{
   [array addObject:@(i)];
}


int intValue = 10;
NSNumber *numberObj  = @(intValue);
damithH
  • 5,148
  • 2
  • 27
  • 31