views:

202

answers:

1

I am having trouble removing objects from nsmutable array. Here it is.

NSURL *url = [NSURL URLWithString:@"http://www.lockerz.com/dailies"]];
NSData *datadata = [NSData dataWithContentsOfURL:url];  
NSString *removeForArray = [[NSString alloc] initWithData:datadata encoding:NSASCIIStringEncoding];
NSArray *theArray = [removeForArray componentsSeparatedByString:@" "];  
NSMutableArray *deArray = [[NSMutableArray array] initWithArray:theArray];
[deArray removeObjectsInRange:NSMakeRange(0, 40)];  
NSLog(@"%@", deArray);
+3  A: 

+[NSMutableArray array] already returns an initialized array. Don't use an initializer method on that, they are used on new instances that you allocd.

In this case you can either

  • alloc/init an instance
  • use -mutableCopy
  • use a suitable convenience constructor

The three following lines are equivalent:

NSMutableArray *a = [[theArray mutableCopy] autorelease];
NSMutableArray *b = [NSMutableArray arrayWithArray:theArray];
NSMutableArray *c = [[[NSMutableArray alloc] initWithArray:theArray] autorelease];
Georg Fritzsche