Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode warning: "NSArray may not respond to -addObject"

In my header file, I have this code:

@interface TableViewController : UIViewController 
{
    IBOutlet UITableView *tblListData;
    NSArray *arryData;
}

In my class declaration file, I have this implementation:

- (void)viewDidLoad 
{
    arryData = [[NSArray alloc] initWithObjects:@"iPhone",@"iPod",@"MacBook",nil];
    [super viewDidLoad];
}

Now I get this Xcode warning: NSArray may not respond to -addObject for the following code:

- (IBAction)AddButtonAction:(id)sender
{
    [arryData addObject:@"Mac Mini"];
    [tblListData reloadData];
}

And, sure enough, my NSArray is not responding to addObject! :(

What should I do?

like image 611
user241178 Avatar asked Jan 19 '10 00:01

user241178


1 Answers

If you look up the docs, you'll see that NSArray is actually an immutable array (i.e. it can not be modified). That's why the -addObject: message is not implemented. Instead, you will need to use NSMutableArray.

like image 61
hhafez Avatar answered Oct 30 '22 00:10

hhafez