0
我试图让一个对象具有一些在构造函数中初始化的不可变属性,并且在启动后将不能更改。那些属性只有getter方法。因为我希望这个对象可以与其他类共享,所以我将它保存到名为saveIt()
的SharedObject类中。SharedObject不安全地保存数据?
在iOS上运行应用程序时(我没有在Android上测试它),所有工作都很好,除非如果我完全关闭应用程序并重新打开应用程序,那些没有setter的属性会丢失。该代码是如下:
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);
是否在保存任何事情后刷新了** SharedObject? –
我刷新SharedObject然后再读取它,如果应用程序保持活动状态,或者没有setter的属性将丢失,那么可以。它可以通过设置两组属性来复制,其中一组与另一组属性不同。具有setter的属性将始终存在,而其他属性则不会。 –