Ti.App.VariableName 和 Ti.App.Properties 之间的区别
Difference between Ti.App.VariableName & Ti.App.Properties
在Titanium中,下面两行代码有什么区别?
Ti.App.currentUser = "user1";
Ti.App.Properties.setString("currentUser", "user1");
Ti.App.Properties
:
App Properties 模块用于以 property/value 对的形式存储应用程序相关数据,这些数据在应用程序会话和设备电源循环之后仍然存在。
tiapp.xml 文件中的应用程序属性
可以使用这些 API 访问 tiapp.xml 文件中定义的应用程序属性。应用 属性 是在具有 <property>
元素的根级 <ti:app>
元素内定义的。使用 name 属性定义您的 属性 名称并将该值与 <property>
元素内联。例如,要定义一个名为 foo 的应用程序 属性,其值为 42:
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<property name="foo" type="string">42</property>
</ti:app>
参考:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App.Properties
Ti.App.VariableName
存储了一个非持久变量,仅供 App 运行时使用。
顶级App模块主要用于在运行时访问应用程序的信息,以及发送或监听系统事件。
App 模块公开了 tiapp.xml 文件中设置的一些属性。
其中三个属性,应用程序名称、ID 和 URL,必须在创建应用程序时指定。
虽然在创建项目后可以通过编辑 tiapp.xml 文件更改大多数值,但 GUID 是自动生成的,不应更改。
更多详情Titanium.App
最后,如果你想在 tiapp.xml 文件中存储和检索值,你应该使用 Titanium.App.Properties
Abada 很好地解释了差异,但我要强调的是,您应该 不 向 Titanium 代理对象添加任何自定义属性,例如 Ti.App
。这是 bad practice 因为它可能会导致内存泄漏和不可预测的行为。这些对象不是 100% JS,而是桥接到 Obj-C/JAVA/C+
在Titanium中,下面两行代码有什么区别?
Ti.App.currentUser = "user1";
Ti.App.Properties.setString("currentUser", "user1");
Ti.App.Properties
:
App Properties 模块用于以 property/value 对的形式存储应用程序相关数据,这些数据在应用程序会话和设备电源循环之后仍然存在。
tiapp.xml 文件中的应用程序属性
可以使用这些 API 访问 tiapp.xml 文件中定义的应用程序属性。应用 属性 是在具有 <property>
元素的根级 <ti:app>
元素内定义的。使用 name 属性定义您的 属性 名称并将该值与 <property>
元素内联。例如,要定义一个名为 foo 的应用程序 属性,其值为 42:
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<property name="foo" type="string">42</property>
</ti:app>
参考:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App.Properties
Ti.App.VariableName
存储了一个非持久变量,仅供 App 运行时使用。
顶级App模块主要用于在运行时访问应用程序的信息,以及发送或监听系统事件。
App 模块公开了 tiapp.xml 文件中设置的一些属性。
其中三个属性,应用程序名称、ID 和 URL,必须在创建应用程序时指定。
虽然在创建项目后可以通过编辑 tiapp.xml 文件更改大多数值,但 GUID 是自动生成的,不应更改。
更多详情Titanium.App
最后,如果你想在 tiapp.xml 文件中存储和检索值,你应该使用 Titanium.App.Properties
Abada 很好地解释了差异,但我要强调的是,您应该 不 向 Titanium 代理对象添加任何自定义属性,例如 Ti.App
。这是 bad practice 因为它可能会导致内存泄漏和不可预测的行为。这些对象不是 100% JS,而是桥接到 Obj-C/JAVA/C+