sudo rm -rf
sudo rm -rf

Reputation: 29524

How to add data to a TableView?

I've got a tableView in a view which is a subview to my MainViewController. When the subview is loaded, I have this in my viewDidLoad method to initialize my tableData:

NSMutableArray *array = [[NSMutableArray alloc] init];

self.listData = array;
[array release];
[super viewDidLoad];

Then I use other methods to add to this data within this view.

When I switch back to my other view, however, then bring up this view again, it initializes the data all over again, erasing my changes. How can I fix this problem?

EDIT: I tried to initialize this array in MainViewController by doing this:

NSMutableArray *array = [[NSMutableArray alloc] init]; 
HistoryViewController.listData = array;
[array release];

But it says Accessing unknown 'setListData:' class method.

Upvotes: 1

Views: 665

Answers (1)

Aaron Saunders
Aaron Saunders

Reputation: 33335

you should not be initializing your array in view did load

// this is clearing out all of your data
NSMutableArray *array = [[NSMutableArray alloc] init];
self.listData = array;

There is not much code, but I would suggest initializing the listData property when you initialize the ViewController.

I might suggest you review this tutorial here on UITableView, and your code above should be edited

HistoryViewController.listData = array;

should be

self.listData = array;

Upvotes: 1

Related Questions