我正在使用 Titanium 开发 iPhone 应用程序,并且需要将一行附加到特定的表格视图部分 https://developer.appcelerator.com/apidoc/mobile/1.0/Titanium.UI.TableViewSection。我无法在页面加载时执行此操作,因为它是由用户在应用程序的整个生命周期中动态完成的。文档说 TableViewSection 有一个add
方法需要两个参数,但我无法让它工作。这是我现有的代码:
for(var i = 0; i <= product_count; i++){
productsTableViewSection.add(
Ti.UI.createTableViewRow({
title:'Testing...'
})
);
}
这只是传递一个参数,这会导致 Titanium 因未捕获的异常而死亡:
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: (
异常看起来像这样did添加行,但由于某种原因不允许这样做。既然文档说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
, or insertRow
,所以我不知道还能去哪里。我浏览过 KitchenSink 应用程序,但没有找到向 TableViewSection 添加行的示例。任何帮助表示赞赏。