Приветствую. Столкнулся со следующим вопросом: как избежать ошибки NullReferenceException: Object

reference not set to an instance of an object которая возникает, когда я изменяю скрипт для EditorWindow для окна редактора, которое в данный момент открыто? Просто чтобы каждый раз заново окно не закрывать/открывать

Суть в том, что при первичном открытии окна через статический метод, который выполняет EditorWindow.GetWindow(typeof( MyEditorWindow )); для создания окна, у моего объекта MyEditorWindow есть состояние dataLoaded = false; и загрузка необходимых данных выполняется уже в методе OnGUI() с пердварительной проверкой if (!dataLoaded) где после загрузки ставится состояние dataLoaded = true; и более загрузка данных не производится.

Пытался сделать в методе Awake() { dataLoaded = false; } но так не работает, всё равно при изменении скрипта и открытом окне возникает ошибка null reference exception. Как этого можно избежать?

Но я что-то туплю видимо, потому что не очень понимаю, как у объекта сохраняется состояние dataLoaded = true, а вот сами данные, которые так же записываются в поле этого объекта не сохраняются?

3 ответов

8 просмотров

Вариант в лоб - проверять сами данные на null в том же ongui и если их нет - менять dataLoaded на false

Михаил-Успенский Автор вопроса
chapaeff Kupras
Вариант в лоб - проверять сами данные на null в то...

Да чтоб ты жил долго и счастливо! почему я сам до этого недопёр... проверить поле на null и если там пусто то просто заново загрузить данные, вот же позорище

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
напомните, как заменить placeholder , а не добавить содержимое ?
Artem N
4
Карта сайта