NCMB(Nifty Cloud Mobile Backend)を使っていて、NCMBオブジェクトを取得するときにエラーが出たことがあったので、その原因と解決方法。
まずその時出たエラーがこれです。
NullReferenceException: Object reference not set to an instance of an object
NCMB.Internal.NCMBConnection._Connection (System.Object callback) (at Assets/NCMB/Script/NCMBConnection.cs:135)
NCMB.Internal.NCMBConnection.Connect (NCMB.HttpClientCallback callback) (at Assets/NCMB/Script/NCMBConnection.cs:127)(以下略)
そこで、エラーが出ているNCMBConnection.csの135行目あたりを見てみると・・・
private void _Connection (object callback)
{
GameObject gameObj = GameObject.Find ("NCMBSettings");
NCMBSettings settings = gameObj.GetComponent ();
settings.Connection (this, callback);
}
GameObject.Find ("NCMBSettings");
でNCMBSettingsコンポーネントがアタッチされたGameObjectを探している!!
ということは、NCMBSettingsスクリプトをアタッチするGameObjectは、必ず「NCMBSettings」という名前でなければならない、ということですね。
勝手な名前にしていたのでNCMBSettingsコンポーネントが見つからず、データの取得が行われていないようでした。
NCMBSettingsスクリプトをアタッチしたGameObjectの名前を「NCMBSettings」にすれば、データの取得に成功しました。
コメント