Я разрабатываю приложение для iPhone в Титане и потребность добавить строку к конкретному 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...'
})
);
}
Вышеупомянутый код не выдает исключение, но это дает a [WARN]
:
[WARN] Invalid type passed to function. expected: TiUIViewProxy,
was: TiUITableViewRowProxy in -[TiUITableViewSectionProxy add:] (TiUITableViewSectionProxy.m:62)
TableViewSections, кажется, не поддерживают методов как appendRow
, или insertRow
, таким образом, я не знаю, куда еще пойти с этим. Я просмотрел приложение KitchenSink, но нет никаких примеров, которые я мог найти добавления строки к TableViewSection. Любая справка ценится.
вы пытались создать представление вне метода для добавления? Похоже, это может быть проблема с конструктором.
Попробуйте создать универсальное представление вне цикла for и посмотрите, не пропустит ли вас предупреждающее сообщение.