Я разрабатываю приложение для iPhone в Titanium, и мне нужно добавить строку к определенному TableViewSection. Я не могу сделать это при загрузке страницы, как это было сделано динамически пользователем на протяжении всего жизненного цикла приложения. В документации указано, что TableViewSection имеет метод add
, который принимает два аргумента, но я не могу заставить его работать. Вот мой существующий код:
for(var i = 0; i <= product_count; i++){
productsTableViewSection.add(
Ti.UI.createTableViewRow({
title:'Testing...'
})
);
}
Это просто передается один аргумент, и это заставляет Титана умереть с неперехваченным исключением:
2010-04-26 16:57:18.056 MyApplication[72765:207] *** Terminating app due to uncaught
exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in
section 2. The number of rows contained in an existing section after the update (2) must be
equal to the number of rows contained in that section before the update (1), plus or minus the
number of rows inserted or deleted from that section (0 inserted, 0 deleted).'
2010-04-26 16:57:18.056 MyApplication[72765:207] Stack: (
Исключение выглядит так: сделал добавить строку, но по какой-то причине она не разрешена. Поскольку в документации указано, что TableViewSection
занимает "представление" и "строка", я попробовал следующее:
for(var i = 0; i <= product_count; i++){
productsTableViewSection.add(
Ti.UI.createView({}),
Ti.UI.createTableViewRow({
title:'Testing...'
})
);
}
Вышеприведенный код не генерирует исключение, но дает [WARN]
:
[WARN] Invalid type passed to function. expected: TiUIViewProxy,
was: TiUITableViewRowProxy in -[TiUITableViewSectionProxy add:] (TiUITableViewSectionProxy.m:62)
TableViewSections, похоже, не поддерживает такие методы, как appendRow
или insertRow
, поэтому я не знаю, куда еще пойти с этим. Я просмотрел приложение KitchenSink, но нет примеров, которые я мог бы найти для добавления строки в TableViewSection. Любая помощь приветствуется.