Unity iPhone ARKit - NullReferenceException: было найдено нулевое значение, когда требовался экземпляр объекта - PullRequest
0 голосов
/ 21 сентября 2018

Я новичок в мире Unity и C #.У меня проблемы с отправкой сетевого запроса к оконечной точке GraphQL.Я создаю приложение AR, используя плагин Unity ARKit .Я использую https://github.com/carlflor/unity_graphql_client пакет, чтобы сделать запрос.Я получаю NullReferenceException: A null value was found where an object instance was required. at MyScript.Start () [0x00000] Ошибка при запуске приложения на XCode.

Этот код из пакета и того, что вызывает проблему.Любая помощь или руководство приветствуется.Спасибо.

public class SomeGameObject : MonoBehaviour {

  public APIClient api;

  void Start () {
    StartCoroutine (api.QueryCall( (bool success) => {
        if (success)
          Debug.Log( "success!");
        else
          Debug.Log( "fail!");
    }))
  }
}

ПРИМЕЧАНИЕ. Мне известно, что в пакете есть некоторые переменные с ошибками.Я все исправил и настроил конечные точки и запросы для своей среды.

1 Ответ

0 голосов
/ 21 сентября 2018

Похоже, вы не инициализировали свою ссылку api.Отладка вашего кода, если значение ссылки null, вам необходимо инициализировать api перед его использованием (я надеюсь, что APIClient получил конструктор по умолчанию, поэтому api=new APIClient() должно быть достаточно).

public class SomeGameObject : MonoBehaviour {

  public APIClient api/*=new APIClient()*/;

  void Start () {
    api= new APIClient();//its better to do it here in case its constructor does dark magic
    StartCoroutine (api.QueryCall( (bool success) => {
        if (success)
          Debug.Log( "success!");
        else
          Debug.Log( "fail!");
    }))
  }
}

checkэто для отладки в Visual Studio & Unity: https://unity3d.com/learn/tutorials/topics/scripting/debugging-unity-games-visual-studio

У меня нет фактического экземпляра UnityEditor, открытого в Visual Studio для хорошего скриншота, однако на скриншоте ниже должна быть кнопка с надписью "подключиться к единице "(или что-то в этом роде), добавить несколько точек останова в Visual Studio рядом с вашими переменными (щелкните пустое место слева от номера строки в Visual Studio, появится красный кружок и ваше выполнение остановится, когда вы достигнете этой строки)enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...