什么会导致 PlayerPrefs 不保存字符串?
What could cause PlayerPrefs to not save a string?
我有以下代码。什么可能使这不起作用?其他 PlayerPrefs 似乎工作正常。日志总是显示它恢复了“”,但它总是保存我的实际文本。
编辑:
我刚刚发现我的“OnDisable”代码在“开始”之前被调用。我真的不认为这是可能的,但这就是问题所在。所以我想我的问题有点变了...
编辑 2:
OnDisable 在 Start 之前被调用,因为另一个“Awake”函数正在禁用这个显然立即运行 OnDisable 的对象。
public InputField ModuleList;
void Start()
{
ModuleList.text = PlayerPrefs.GetString("ModuleSet", "");
Debug.Log("Restoring " + PlayerPrefs.GetString("ModuleSet", ""));
}
public void OnDisable()
{
Debug.Log("Saving " + ModuleList.text);
PlayerPrefs.SetString("ModuleSet", ModuleList.text);
}
致电
PlayerPrefs.Save();
用于保存数据
确保在调用 Start() 方法之前没有禁用 GO
我有以下代码。什么可能使这不起作用?其他 PlayerPrefs 似乎工作正常。日志总是显示它恢复了“”,但它总是保存我的实际文本。
编辑: 我刚刚发现我的“OnDisable”代码在“开始”之前被调用。我真的不认为这是可能的,但这就是问题所在。所以我想我的问题有点变了...
编辑 2: OnDisable 在 Start 之前被调用,因为另一个“Awake”函数正在禁用这个显然立即运行 OnDisable 的对象。
public InputField ModuleList;
void Start()
{
ModuleList.text = PlayerPrefs.GetString("ModuleSet", "");
Debug.Log("Restoring " + PlayerPrefs.GetString("ModuleSet", ""));
}
public void OnDisable()
{
Debug.Log("Saving " + ModuleList.text);
PlayerPrefs.SetString("ModuleSet", ModuleList.text);
}
致电
PlayerPrefs.Save();
用于保存数据
确保在调用 Start() 方法之前没有禁用 GO