2011-10-19 5 views
0

저는 초보자 인 터치입니다. 기본적으로 저는 블랙 베리 개발자입니다. 현재 Sencha Touch 1.1을 지원하기 위해 애플리케이션을 마이그레이션 중입니다. 이제 로컬 데이터베이스에 선택한 값을 저장하려는 비즈니스 솔루션이 있습니다. 나는 여러 화면을 가지고 있음을 의미합니다. 사용자가 각 화면에서 값을 선택하면 데이터는 다음 형식으로 저장해야합니다.데이터 구조는 Sencha Touch에서 Blackberry의 Vector와 비슷합니다.

[{ 'KEY1' "VALUE1 ','키 2 '"값 2 "'KEY3 '"에 value3 ","KEY4' "VALUE4" 'key5' "VALUE5"}]

1. 첫째, 값은 기본 키의 역할을해야

2. 키, 키가 중복되지 않아야 키 값 쌍으로 저장해야합니다.

3. 응용 프로그램 수명주기 또는 응용 프로그램 세션까지 사용할 수 있어야합니다. 데이터를 영구 저장하지 않아도됩니다.

저는 LocalStorageProxy, JsonStore 및 일부 다른 개념을 접했습니다. 나는 나의 특정한 필요 조건을 위해 사용할 수있는 것을 이해하지 못한다.

조금 더 혼란 스러울 수도 있습니다. Blackberry Java에서 벡터를 사용하여 동일한 결과를 얻었으므로 이와 유사한 데이터 구조가 도움이 될 수 있습니다.

  1. 같은 기본적인 작업이
  2. 모든

에 따라 요소 나에게 몇 가지 샘플 또는 일부 코드 스냅 샷을, 제안하십시오 가져 오기 제거

  • 제거를 추가
  • 작성해야하는 이것을 달성하는 데 도움이 될 수 있습니다.

    편집 : @ Ilya139의 대답에 따라 변경을 수행 한 1

    . 지금은 위의 구문을 사용하여 요소를 검색 할 수

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

    너트 수 없습니다, 키를 사용하여 데이터를 추가 할 수 있어요.

  • +0

    을 모두 제거하기 위해 당신은 몇 가지 오류가 발생 했습니까? 이것은 표준 Javascript 사전 객체입니다. 그냥 방화범이 끌려 오는 콘솔, 크롬 콘솔 또는 jsfiddle을 사용하면 작동하는 것을 볼 수 있습니다. 'var obj = {}; obj [ 's'] = 's'; 'MyApp'는 sencha touch app의 이름이어야합니다. 즉,'var App = new Ext.Application ({Name : 'MyApp',' – ilija139

    답변

    1

    데이터를 영구히 저장할 필요가없는 경우 필요한 속성으로 전역 개체를 가질 수 있습니다.

    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 = {};