Sto sviluppando un'applicazione iPhone in Titanium e devo aggiungere una riga a un particolare TableViewSection. Non riesco a farlo a pagina, poiché viene eseguito dinamicamente dall'utente per tutto il ciclo di vita dell'applicazione. La documentazione dice che TableViewSection ha un metodo add
che accetta due argomenti, ma non riesco a farlo funzionare. Ecco il mio codice esistente:Come aggiungere una riga a una TableViewSection in Titanium?
for(var i = 0; i <= product_count; i++){
productsTableViewSection.add(
Ti.UI.createTableViewRow({
title:'Testing...'
})
);
}
Questo è solo di passaggio un argomento, e che causa Titanium morire con un'eccezione non rilevata:
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: (
L'eccezione sembra fatto aggiungere la riga, ma non è permesso per qualche motivo. Dal momento che la documentazione dice che TableViewSection
prende in "vista" e "riga", ho provato la seguente:
for(var i = 0; i <= product_count; i++){
productsTableViewSection.add(
Ti.UI.createView({}),
Ti.UI.createTableViewRow({
title:'Testing...'
})
);
}
Il codice di cui sopra non generare l'eccezione, ma dà una [WARN]
:
[WARN] Invalid type passed to function. expected: TiUIViewProxy,
was: TiUITableViewRowProxy in -[TiUITableViewSectionProxy add:] (TiUITableViewSectionProxy.m:62)
TableViewSections non sembrano supportare alcun metodo come appendRow
o insertRow
, quindi non so dove altro andare con questo. Ho esaminato l'app KitchenSink, ma non ho trovato esempi di aggiungere una riga a una TableViewSection. Qualsiasi aiuto è apprezzato.