Ошибка утверждения с помощью MBProgressHUD – вид не должен быть nil

Я пытаюсь использовать MBProgressHUD в приложении. Я получаю ошибку в точке, где HUD добавляется в представление.

Это код, который добавляет индикатор выполнения в представление.

 HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; [self.view.window addSubview:HUD]; // Set determinate mode HUD.mode = MBProgressHUDModeAnnularDeterminate; HUD.labelText = @"Loading"; // myProgressTask uses the HUD instance to update progress [HUD showWhileExecuting:@selector(processFieldEntries) onTarget:self withObject:nil animated:YES]; 

Ошибки приложения:

 *** Assertion failure in -[MBProgressHUD initWithView:], /Users/.../MBProgressHUD/MBProgressHUD.m:190 

Также

 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'View must not be nil.' 

А также

 Crash: View must not be nil. 

Кто-нибудь знает, для чего происходит отказ утверждения и как его решить. Файл MBProgressHUD.m включен в источники компиляции на вкладке «Сборка фаз» и заголовок, включенный в файл. Прогресс добавляется к процессу обработки проверки поля.

2 Solutions collect form web for “Ошибка утверждения с помощью MBProgressHUD – вид не должен быть nil”

Привет, вот быстрый совет на дисплее HUD.

во-первых, не пытайтесь перевернуть здесь, но убедитесь, что если вы инициализируете HUD для навигационного контроллера, у вас есть одно – или что-то еще в этом отношении. Обратите внимание: чем выше вы придерживаетесь HUD в своем представлении, тем больше взаимодействия будет отключено и покрыто наложением HUD (что обычно хорошо).

например, если ваш в основном контроллере представления или модальном и т. д. сделать что-то вроде этого:

 HUD = [[MBProgressHUD alloc] initWithView:self.view]; [self.view addSubview:HUD]; 

обратите внимание, что вы добавляете его в тот же вид, с которого вы его инициализировали.

также обратите внимание, что вы можете использовать его в других представлениях, а также: self.navigationcontroller.view, self.splitviewcontroller.view или мой любимый: self.splitviewcontroller.view.superview (чтобы покрыть и отключить обе стороны представления).

Я думаю, что ваша проблема будет решена сама собой, если вы последуете примеру init с правильным представлением для вашего приложения.

всего хорошего.

Где вы используете этот фрагмент кода? Если вы предоставите некоторые другие детали, я могу вам помочь. Тем временем, ожидая некоторых подробностей, я могу дать вам несколько советов по вашей проблеме.

Я предполагаю, что когда вы создаете MBProgressHUD

 HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; 

view вашего контроллера навигации равен nil и, следовательно, проблема.

Если вы перемещаете код MBProgressHUD ( MBProgressHUD.m ), вы можете видеть, что существует контрольная проверка:

 NSAssert(view, @"View must not be nil."); 

и поэтому код останавливается, так как он не передает управление.

Чтобы сделать эту работу, вам необходимо передать представление, отличное от nil .

Если вы создали класс, который расширяет UIViewController (например), вы можете представить метод HUD в viewDidAppear . Там вы уверены, что view для вашего контроллера просмотра было создано и отображено.

Кроме того, добавьте HUD в качестве подсмотра окна. Для получения дополнительной информации вы можете видеть, что MBProgressHUD не отображается .

Надеюсь, это поможет.

  • Открытие контроллера просмотра из делегата приложения с помощью swift
  • Как добавить панель поиска над UICollectionView?
  • изменить страницы в UIPageViewController Автоматически с таймером в быстром 3?
  • Подкласс ViewController из раскадровки
  • Переход UIViewController - цель-c
  • iOS 7 - Скрыть строку состояния на контроллере детского просмотра
  • Как модально представить ViewController, а затем запустить функцию обратного вызова / блок после того, как ViewController был уволен, без делегирования?
  • Swift: переход к новому ViewController с помощью кнопки
  • viewDidAppear вызывает диспетчер view, который отклоняется в iOS8
  • Передача данных между контроллерами просмотра
  • Пользовательский переход UIViewController задает неправильный topLayoutGuide и bottomLayoutGuide, когда активна панель вызова
  • Interesting Posts

    phonegap xcode 4.3

    Выполняет ли AFHTTPRequestOperationManager запросы на операциюQueue?

    iOS Google Maps V3 и ограничения использования

    Есть ли способ ускорить работу OpenGL для симулятора iPad?

    Выделение большого NSMutableArray вызывает предупреждения о низкой памяти?

    Предотвратить получение родительского представления от события касания после того, как дочерний просмотр действует на него

    синтаксический разбор строки, разделенный запятой, если только она не закрыта апострофами

    Приложение iphone не отвечает после запуска в альбомной ориентации на iPad

    Определение идентификаторов кодов из командной строки?

    Слабый делегат становится нулевым

    как узнать, был ли UITapGestureRecognizer добавлен в subview

    Objective-C проверяет, содержит ли массив с ints int

    Основные данные iPhone «Автоматическая легкая миграция»

    Как указать язык / язык для NSFormatter, который не имеет свойства locale?

    Как создать вид прокрутки с помощью элемента управления страницы с помощью быстрого доступа?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.