Struttura dei dati per l'uso in Sencha tocco simile a vettoriale in Blackberry
-
27-10-2019 - |
Domanda
Sono un principiante sencha Touch, in fondo io sono uno sviluppatore BlackBerry. Attualmente stiamo migrando la nostra applicazione per supportare Sencha touch 1.1. Ora ho alcune soluzioni di business come voglio per memorizzare i valori selezionati nel database locale. Senso che ho più schermi in cui, una volta che l'utente seleziona un valore in ciascuna schermata dei dati dovrebbe salvare nel sotto seguente formato.
[{ 'chiave1': "valore2", 'key3':: "value3", 'KEY4': "valore4", 'key5':, 'key2' "valore1" "valore5"}]
1. In primo luogo, i valori devono essere salvati in coppie valore chiave
2. Le chiavi devono svolgere il ruolo di chiave primaria, chiave non dovrebbe essere duplicato.
3. Dovrebbe essere disponibile fino al ciclo di vita delle applicazioni o sessione di applicazione, non è necessario salvare i dati in modo permanente.
Ho incontrato i concetti come LocalStorageProxy, JsonStore e alcuni altri. Non capisco quale posso usare per le mie esigenze specifiche.
Può essere la mia domanda è po 'più confusa. Ho raggiunto lo stesso utilizzando vettore, in BlackBerry Java in modo che qualsiasi struttura dati simile a questo mi potrebbe aiutare. Hai bisogno di operazioni di base come
- Crea
- Aggiungi
- Rimuovi
- Rimuovi tutto
- Fetch elementi in base tasto
Si prega di suggerire me alcuni campioni o alcune istantanee di codice, che mi può aiutare a raggiungere questo obiettivo.
Modifica: 1
ho fatto i cambiamenti come da @ risposta Ilya139 s'. Ora sono in grado di aggiungere i dati con chiave,
// this is my Object declared in App.js
NSDictionary: {},
// adding the data to object with key
MyApp.NSDictionary['PROD'] = 'SONY JUKE BOX';
//trying to retrieve the elements from vector
var prod = MyApp.NSDictionary['PROD'];
Dado non è in grado di recuperare gli elementi usando la sintassi di cui sopra.
Soluzione
Se non è necessario salvare i dati in modo permanente allora si può solo avere un oggetto globale con le proprietà desiderate. In primo luogo definire l'oggetto come questo:
new Ext.Application({
name: 'MyApp',
vectorYouNeed: {},
launch: function () { ...
Poi aggiungere le coppie di valori-chiave per l'oggetto come questo
MyApp.vectorYouNeed[key] = value;
E li prendere come questo
value = MyApp.vectorYouNeed[key];
Si noti che chiave è un oggetto stringa cioè var key='key1';
e valore può essere qualsiasi tipo di oggetto.
Per rimuovere una MyApp.vectorYouNeed[key] = null;
valore e per rimuovere tutti loro MyApp.vectorYouNeed = {};