Структура данных для использования в Sencha Touch, похожая на вектор в BlackBerry

StackOverflow https://stackoverflow.com/questions/7821773

Вопрос

Я новичок в Sencha Touch, в основном я разработчик Blackberry. В настоящее время мы мигрируем наше приложение для поддержки Sencha Touch 1.1. Теперь у меня есть некоторые бизнес -решения, как я хочу сохранить выбранные значения в локальной базе данных. Я имею в виду, что у меня есть несколько экранов, где, как только пользователь выбирает значение на каждом экране, данные должны сохранять в следующем формате.

{'key1': "value1", 'key2': "value2", 'key3': "value3", 'key4': "value4", 'key5': "value5"}

1. Во -первых, значения необходимо сохранить в парах значений ключей

2. Ключи должны играть роль первичного ключа, ключ не должен быть продублирован.

3. Должно быть доступно до жизни приложения или сеанса приложения, не нужно сохранять данные навсегда.

Я столкнулся с такими понятиями, как LocalStorageProxy, Jsonstore и некоторые другие. Я не понимаю, какой из них я могу использовать для своих конкретных требований.

Может быть, мой вопрос немного более запутанным. Я достиг того же, используя вектор, в Blackberry Java, чтобы любая структура данных, аналогичная этой, может помочь мне. Нужны основные операции, такие как

  1. Создавать
  2. Добавлять
  3. Удалять
  4. Убрать все
  5. Принесите элементы на основе ключа

Пожалуйста, предложите мне несколько образцов или некоторых снимков кода, которые могут помочь мне достичь этого.

РЕДАКТИРОВАТЬ: 1

Я сделал изменения в соответствии с ответом @Ilya139. Теперь я могу добавить данные с ключом,

// 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'];

Орех не способен получить элементы, используя приведенный выше синтаксис.

Это было полезно?

Решение

Если вам не нужно навсегда сохранять данные, вы можете просто иметь глобальный объект со свойствами, которые вам нужны. Сначала определите объект как это:

 new Ext.Application({
    name: 'MyApp',
    vectorYouNeed: {},
   launch: function () { ...

Затем добавьте пары клавиш в объект, как этот

 MyApp.vectorYouNeed[key] = value;

И принесите их так

 value = MyApp.vectorYouNeed[key];

Обратите внимание, что ключ является объектом строки, т.е. var key='key1'; и значение может быть любой тип объекта.

Чтобы удалить одно значение MyApp.vectorYouNeed[key] = null; И удалить их все MyApp.vectorYouNeed = {};

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top