2017-02-23 6 views
0

나는 생성자에서 시작하고 초기화 후에 변경할 수없는 몇 가지 불변의 속성을 가진 객체를 갖기 위해 노력한다. 그런 다음 해당 속성에는 getter 메서드 만 있습니다. 이 객체를 다른 클래스와 공유 할 수 있기를 원하면 saveIt()이라는 SharedObject 클래스에이 객체를 저장합니다.SharedObject 데이터를 안전하게 저장하지 않습니까?

iOS에서 앱을 실행할 때 모두 정상적으로 작동합니다 (아직 Android에서 테스트하지 않음). 메모리에서 앱을 완전히 종료하고 다시 열면 설정자가없는 '속성이 손실됩니다. 코드는 다음과 같습니다 : 내가 찾은

  var rooms:ArrayCollection = saveData.read("rooms") as ArrayCollection; 
      if (!roomExists) { 
       var room:Room; 
       room = new Room(myID, myName, maxRoomSize); 

       room.name = rm.name; 
       room.timestamp = new Date(); 
       room.joinUrl = rm.joinUrl; 
       room.attendeeUrl = rm.attendeeUrl; 
       room.attendees = conferenceParameters.metadata.hasOwnProperty("attendees") ? conferenceParameters.metadata["attendees"] : null; 

       rooms.addItem(room); 
      } 
      saveIt.save("rooms", rooms); 
+0

** 어떤 것을 저장 한 후에 ** SharedObject를 플러시 했습니까? –

+0

SharedObject를 비우고 다시 읽으십시오. 앱을 계속 사용 중이거나 설정자가없는 속성을 잃어 버리면 괜찮습니다. 그것은 두 세트의 특성 세트로 재현 될 수 있는데, 하나는 세터로, 다른 하나는 그렇지 않습니다. setter가있는 속성은 항상 존재하지만 다른 속성은 그렇지 않습니다. –

답변

0

나는 불변의 속성 즉 다음 안전하게 심지어 종료에게 응용 프로그램을 저장할 수 있습니다

function set myID(s:String):void{} 

각 더미 세터를 지정합니다. 이 코드 동작에 대한 정보를 찾을 수 없으므로 여기에서 의견을 찾고 싶습니다 !!