2017-02-23 11 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をフラッシュしてからそれを読み戻します。アプリが生き続けるか、セッターのないプロパティが失われても問題ありません。これは、2つのプロパティセットを設定することで再現できます.1つはセッターで、もう1つはセッターではありません。設定者のプロパティは常に存在し、設定者のプロパティは存在しません。 –

答えて

0

私は不変の特性の各々、すなわち

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

ダミーセッターを割り当てた場合、それは安全にもIシャットダウンアプリケーションを保存することができるが見つかりました。私はこのコードの動作に関する情報を見つけることができないので、私はここで意見を探しています!

関連する問題