我正在尝试为一个统一应用程序完善登录和注册脚本。我创建了一个回调操作委托,并尝试通过lambda表达式传递参数。但是,当它在第二个脚本中调用另一个函数时,我得到一个空引用异常。
这就是我传递它的方式。注意registerUser是第二个脚本
if (checkPassword(password) && password == confirm)
{
registerUser.RegisterScene(email, password, user, (isSuccess, errorMsg) =>
{
if (isSuccess)
{
Debug.Log(errorMsg);
StartCoroutine(errorMessage(errorMsg, Color.green, 3f));
}
if (!isSuccess)
{
Debug.Log(errorMsg);
StartCoroutine(errorMessage(errorMsg, Color.red, 3f));
}
});
}
这是我得到空引用异常的地方。
public static void RegisterScene(string email, string password, string user, Action<bool, string> callback)
{
_instance.registerAsync(email, password, user, callback);
}
我不确定为什么我会收到这个错误,所以如果有人能为我清楚这一点,那将是非常感谢!
编辑:这是我如何宣布我的单身人士。我没有让它线程安全或放任何花哨的东西。我只想让它工作public Profile()
{
}
void start()
{
Debug.Log(_instance);
if (_instance == null)
{
_instance = new Profile();
Debug.Log(_instance);
}
}