0

我是 sencha Touch 的初学者,基本上我是一个黑莓开发者。目前我们正在迁移我们的应用程序以支持 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. 根据key获取元素

请建议我一些示例或一些代码快照,这可能有助于我实现这一目标。

编辑: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'];

Nut 无法使用上述语法检索元素。

4

1 回答 1

1

如果您不需要永久保存数据,那么您可以只拥有一个具有所需属性的全局对象。首先像这样定义对象:

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

然后像这样将键值对添加到对象中

 MyApp.vectorYouNeed[key] = value;

像这样获取它们

 value = MyApp.vectorYouNeed[key];

请注意,key 是一个字符串对象var key='key1';,即 value 可以是任何类型的对象。

删除一个值MyApp.vectorYouNeed[key] = null;并删除所有值MyApp.vectorYouNeed = {};

于 2011-10-19T14:58:12.310 回答