我对由start()
方法内部的 var 参数设置的局部变量的 Null Reference 有问题
这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using K3DBHandler;
public class Splash : MonoBehaviour {
private int jmlUser;
private DataService ds = new DataService("dbK3.sqlite");
void Start()
{
var user = ds.CekUser();
Hitung(user);
if (jmlUser == 0)
{
StartCoroutine(ToLogin());
}
else
{
StartCoroutine(ToHome());
}
}
IEnumerator ToHome()
{
yield return new WaitForSeconds(5);
SceneManager.LoadScene("Home");
}
IEnumerator ToLogin()
{
yield return new WaitForSeconds(5);
SceneManager.LoadScene("Login");
}
private void Hitung(IEnumerable<User> UserCount)
{
var c = 0;
foreach (var a in UserCount)
{
c++;
}
jmlUser = c;
}
}
这段代码在 Unity Editor 中运行良好,但是当我将它构建到 Android 时,出现如下错误:
请帮我。
*注意:我使用 Unity 2017.3.1f1
Unity 告诉您 Start 方法中的其中一项内容不存在。
我已经组织了你的代码,所以检测这个对象会更容易。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using K3DBHandler;
public class Splash : MonoBehaviour {
private int jmlUser = 0;
private DataService ds = null;
void Start()
{
ds = new DataService("dbK3.sqlite");
var user = ds.CekUser();
Hitung(user);
if (jmlUser == 0) StartCoroutine(ToLogin());
else StartCoroutine(ToHome());
}
IEnumerator ToHome()
{
yield return new WaitForSeconds(5);
SceneManager.LoadScene("Home");
}
IEnumerator ToLogin()
{
yield return new WaitForSeconds(5);
SceneManager.LoadScene("Login");
}
private void Hitung(IEnumerable<User> UserCount)
{
int c = 0;
foreach (var a in UserCount) c++;
jmlUser = c;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句