Vai al contenuto

Tableview


Messaggi raccomandati

Ciao a tutti

Ho una tableview con Core Data

Con un pulsante apro una view dove ci sono 2 textfield: text field 1 texfield 2 , dove salvo alcuni dati

Una volta salvati creano una nuova riga nella tableview

Chiedo se é possibile fare la somma per esempio di tutti i textfield1 presenti in ogni riga della tableview?

Qualche suggerimento?

Link al commento
Condividi su altri siti

Aiutoo nessuno che ha dei suggerimenti?

 

La proprietà text di ogni textfield altro non è che una NSString. In base al tipo di valore memorizzato su questi campi devi eseguire un parsing della stringa per ottenere il relativo valore nel tipo di dato che ti interessa.

Se per esempio in questi campi devono essere memorizzato degli interi puoi provare il parsing tramite

int intFromString = [textField1.text intValue];

il metodo cerca nella stringa il primo intero valido, se non ne trova restituisce 0. 

Stessa cosa puoi fare con valori di tipo float, invocando il metodo floatValue sulla stringa che ti interessa.

Per operazioni più minuziose poi puoi sempre utilizzare uno scanner (NSScanner), e nel web trovi grosse quantità di discussione riguardo al parsing di valori numerici da stringhe.

 

Infine, una volta che ritorni alla schermata della tableview puoi implementare il metodo tableView:viewWillAppear per aggiornare il valore del tuo contatore ed eseguire ogni altra operazione di refresh del contenuto della tua tableView

Link al commento
Condividi su altri siti

Innanzitutto mi scusa per la mia ignoranza in materia di quello che mi ha scritto Kendall ho capito poco

Ho cercato in rete ma non riesco a trovare nulla che mi possa aiutare

Inoltre penso di essermi spiegato malissimo

In pratica partendo da una tableview l'utente tramite il pulsante edit può creare una serie di row che ognuna porta ad una detailview dove tramite una textfield si inserisce dei dati numerici che vengono salvati e infine visualizzati in una label in una terza view

E fin qui sono riuscito a creare tutto ciò la tableview con core data il passaggio di dati nella terza view tutto funziona ,ora vorrei fare in modo che nella label della terza view si possano visualizzare il totale dei dati di ogni row che l'utente crea

Spero di essere stato chiaro questa volta e grazie di nuovo

Link al commento
Condividi su altri siti

Innanzitutto mi scusa per la mia ignoranza in materia di quello che mi ha scritto Kendall ho capito poco

Ho cercato in rete ma non riesco a trovare nulla che mi possa aiutare

Inoltre penso di essermi spiegato malissimo

In pratica partendo da una tableview l'utente tramite il pulsante edit può creare una serie di row che ognuna porta ad una detailview dove tramite una textfield si inserisce dei dati numerici che vengono salvati e infine visualizzati in una label in una terza view

E fin qui sono riuscito a creare tutto ciò la tableview con core data il passaggio di dati nella terza view tutto funziona ,ora vorrei fare in modo che nella label della terza view si possano visualizzare il totale dei dati di ogni row che l'utente crea

Spero di essere stato chiaro questa volta e grazie di nuovo

 

Quando si ha a che fare con applicazioni per iOS (ma è un concetto che bene o male si applica a tutte le applicazioni con interfaccia grafica) è bene creare una suddivisione netta tra il modello dati (cioè le classi che contengono e gestiscono i dati che verranno usati dalla tua interfaccia) e l'interfaccia stessa.

In questo passaggio il ViewController fungerà da strato intermedio, per far comunicare la View e il Model. Questo paradigma di programmazione comporta che il Model e la View non sanno nulla (ma proprio nulla) l'uno dell'altro. 

Per una spiegazione più consistente (e probabilmente più chiara della mia) puoi fare riferimento al portale apple per gli sviluppatori, e precisamente a questa pagina: https://developer.apple.com/library/ios/documentation/general/conceptual/devpedia-cocoacore/MVC.html

 

Detto questo, e quando hai assimilato il concetto (sempre che già non fossi a tuo agio con il pattern MVC) il passaggio successivo sarà abbastanza banale:

  1.  I dati visualizzati su ogni voce della table view, così come quelli visualizzati sulla detail view e quelli modificati dalla view con le label saranno contenuti su istanze di una classe modello (es° ESItem), derivata da NSObject o da altre tue classi (in base alla struttura che darai ai dati). 
  2. Tutte le istanze dovranno poi essere contenute in un contenitore (un array, un dizionario o quello che meglio si adatta al tuo modello dati) di questi oggetti, che rappresenti in memoria, in ogni momento dell'esecuzione del programma, il totale di "oggetti modello" che saranno poi visualizzati nella tua table view (e in questo caso il tableviewcontroller fungerà proprio da ponte tra la tua tableview e il tuo oggetto contenitore. Per far si che questo oggetto sia visibile in ogni istante da ogni punto della tua applicazione un pattern molto usato è quello del Singleton (prova a fare una ricerca al riguardo), ma non è l'unica soluzione chiaramente.
  3. Quando andrai a visualizzare la detailView della singola voce, puoi accedere al tuo oggetto contenitore - tramite il singleton - (che contiene come abbiamo detto tutti gli oggetti del tuo modello) ed avere così la possibilità di fare quello che vuoi con la totalità dei dati finora memorizzati. (Se per esempio vuoi ottenere la somma di una determinata proprietà di tutti gli oggetti contenuti, ti basterà scorrere il contenitore e trovarti la somma di tutte le proprietà di un certo tipo, quindi visualizzare tale somma dove vuoi nella detailview).

 

Non è mai facile dare spiegazioni di questo tipo perché non si conosce il livello globale di comprensione che l'interlocutore ha del linguaggio e del framework. Quello che posso consigliarti se hai capito poco di quello che ho scritto, è di trovarti due buoni libri sull'Objective-C e Cocoa Touch e smaliziarti un po' su tutti i concetti ivi contenuti. Non avventurarti sulla programmazione seguendo solo tutorial online, questi presuppongono che tu abbia certe conoscenze e il perdersi diventa molto facile (e anzi si rischia di avere un apprendimento molto frammentato e confusionario, che è ancor peggio). Un buon libro invece ti guida attraverso l'apprendimento dei concetti fondamentali e ti da una visione d'insieme ben più solida.

Link al commento
Condividi su altri siti

Grazie per la tua risposta

Sicuramente la mia comprensione é alquanto scarsa e quello che ho imparato l'ho appreso da alcuni libri che però insegnano diciamo le nozioni di base

Però programmare app per iPhone mi affascina molto e vorrei imparare davvero

Riguardo ai libri che dici tu hai qualche titolo da suggerire?

Grazie ancora?

Link al commento
Condividi su altri siti

Grazie per la tua risposta

Sicuramente la mia comprensione é alquanto scarsa e quello che ho imparato l'ho appreso da alcuni libri che però insegnano diciamo le nozioni di base

Però programmare app per iPhone mi affascina molto e vorrei imparare davvero

Riguardo ai libri che dici tu hai qualche titolo da suggerire?

Grazie ancora?

 

Io ho trovato molto piacevoli alla lettura questi due volumi:

Venendo da un background di C#, Java e C++ li ho divorati molto velocemente, però anche per un programmatore novizio li ritengo estremamente validi e semplici da seguire. 

Vedrai che dopo averti fatto una infarinatura con questa scriverai codice in maniera ben più conscia e spontanea.

Link al commento
Condividi su altri siti

le stesse cose in inglese le puoi leggere sul sito sviluppatori apple

con questo inizi (in alto a destra scarichi i pdf,poi li leggi dove vuoi ipad, computer o kindle)

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html

 

questa invece è l'equivalente del primo libro che ti hanno consigliato

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210

 

mentre questo è l'equivalente del secondo libro

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007072

 

 

scegli tu se spendere soldi, oppure utilizzare i materiali apple (ottimi e aggiornati a iOS 7).

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...