保存当前窗口以在恢复时使用它

时间:2013-06-24 15:41:05

标签: javascript titanium-mobile

我正在尝试将焦点事件中的当前窗口保存到这样的app属性

$.profileWin.addEventListener('focus', function(e) {
    Ti.App.Properties.setObject("curwin", $.profileWin);
});

我这样做超过1个窗口

但是在窗口焦点我得到这个错误

  

- [TiUIWindowProxy encodeWithCoder:]:无法识别的选择器发送到实例0x1ea19c00“;

如何保存当前窗口并在iPhone从暂停状态恢复时访问该窗口

1 个答案:

答案 0 :(得分:0)

当您尝试在Ti.App.Properties中保存值时,它将简单地转换为文本字符串。我不确定setObject是否会接受除JSON对象之外的任何其他内容(以及Ti.UI.Window不是JSON对象)。

话虽这么说,保存实际的Window对象可能不是一个好主意,因为当您尝试重新加载窗口时,可能已从内存中删除了不同的依赖项。

更好的方法是保存窗口的相关属性(以及恢复窗口当前状态可能需要的其他值),并在窗口获得焦点后重新布局窗口。