Problem
If you create a table view and immediately call appendRow multiple times, only the last call to appendRow will do anything. So if you add 3 rows, only the 3rd will end up in the table.
Reproduction
Drop the following in an app.js and run it; if this bug is present, you will only see 1 row. Otherwise, you will see 3.
var win = Ti.UI.createWindow({ backgroundColor: '#fff' });
win.open();
var table = Ti.UI.createTableView();
table.appendRow({ title: 'Row 1' });
table.appendRow({ title: 'Row 2' });
table.appendRow({ title: 'Row 3' });
win.add(table);
Workaround
Instead of appending the rows, setData them:
var win = Ti.UI.createWindow({ backgroundColor: '#fff' });
win.add(Ti.UI.createTableView({
data: [
{ title: 'Row 1' },
{ title: 'Row 2' },
{ title: 'Row 3' }
]
}));
win.open();
Associated Helpdesk Ticket
http://appc.me/c/APP-281379
Verified fixed with iPhone 4 (4.3.3), iPad 2 (4.3.3) iPod 3rd Gen (4.0.2), iPhone 3GS (3.1.2), SDK 1.7.x r177ece80