2017-02-23 11 views
0

Например, у меня есть ViewController1 с объектом и данными UITableview.Тогда я буду нажимать на другой контроллер от ViewController1 до ViewController2.UITableview потерял ссылку после контроллера pop view

Моя проблема, когда я пытаюсь выскочить из ViewController2 в ViewController1 затем UITableview объекта возвращения nil и мое приложение crashed.This проблема часто бывает.

Я использую раскадровку для назначения UITableview. И я использую swift 2.0 как язык программирования.

Ниже мой исходный код, где мое приложение разбилось.

override func viewDidAppear(animated: Bool) 
{ 
    super.viewDidAppear(true) 
    btnRightBarBtnItem.image = UIImage(named : "Home") 
    btnRightBarBtnItem.target = self 
    btnRightBarBtnItem.action = #selector(self.btnHomeAction) 

    refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") 
    refreshControl.addTarget(self, action: #selector(SelectPackingItemsViewController.refresh(_:)), forControlEvents: UIControlEvents.ValueChanged) 
    packingItemsTableView.addSubview(refreshControl) 
} 

приложение разбился на "packingItemsTableView.addSubview (refreshControl)" этой линии.

Он возвращается в журнале (lldb) po self.packingItemsTableView! Неустранимая ошибка: неожиданно найдено нуль при развертывании. Необязательное значение

Управление обновлением - это не что иное, как «объект UIRefreshControl()», который не равен нулю.

+3

Добавьте код, где приложение разбилось. –

+3

Разделите журнал сбоев или ваш источник. Удалены ли какие-либо представления программно во время событий жизненного цикла? – Krunal

+0

объявите и инициализируйте свой объект 'refreshControl' в' viewDidAppear' и снова попробуйте запустить код ИЛИ переместите весь код 'viewDidAppear' в' viewDidLoad', –

ответ

0

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

Смежные вопросы