Hamdi-Lachaal
Hamdi-Lachaal

Reputation: 151

adding NSInteger object to NSMutableArray

I have an NSMutableArray

@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {

NSMutableArray *reponses;
}
@property (nonatomic, retain) NSMutableArray *reponses;

@end

and i'm trying to add in my array NSInteger object:

@synthesize reponses;



NSInteger val2 = [indexPath row];
[reponses addObject:[NSNumber numberWithInteger:val2]];
NSLog(@"the array is %@ and the value is %i",reponses, val2);

it won't work the object was not added to the array, this is what console shows:

the array is (null) and the value is 2

Upvotes: 7

Views: 15931

Answers (3)

visakh7
visakh7

Reputation: 26400

@Omz: is right. Make sure you have the array allocated and initialized. Please check the following code

NSMutableArray *array = [[NSMutableArray alloc] init];
NSInteger num = 7;
NSNumber *number = [NSNumber numberWithInt:num];
[ar addObject:number];
NSLog(@"Array %@",array);

I have checked this and it works. If array is no longer needed make sure you release it.

Upvotes: 9

Bani Uppal
Bani Uppal

Reputation: 866

You have not initialized the responses array. In your code, may be viewDidLoad, do:

reponses = [[NSMutableArray alloc] init];

Then add the object to your array.

NSInteger val2 = [indexPath row];
[self.reponses addObject:[NSNumber numberWithInteger:val2]];

That should work.

Upvotes: 2

omz
omz

Reputation: 53551

You're not initializing your array, so it's still nil when you're trying to add to it.

self.responses = [NSMutableArray array];
//now you can add to it.

Upvotes: 4

Related Questions