2016-07-26 2 views
-1

Я добавил ViewController в качестве подзаголовка в UIWindow & добавил tableView внутри просмотра Контроллер, но пока я нажимаю на сотовые приложения, сбой в устройстве & Ячейки исчезают в симуляторе Странный номер !!!Table View Cell tap Crashed

this is the error

class func addSideMenu(viewControllerName : String)->UIView{ 
    let storyboard = UIStoryboard(name: MAIN_STORYBOARD, bundle: nil) 
    let vc = (storyboard.instantiateViewControllerWithIdentifier(viewControllerName)) 
    vc.view.frame = CGRectMake(-(UIScreen.mainScreen().bounds.width + 100),0, UIScreen.mainScreen().bounds.width - 100, UIScreen.mainScreen().bounds.height) 
    print(vc.view.frame) 
    vc.view.tag = 200 
    return vc.view 
} 


newView = Utilities.addSideMenu("SideMenuViewController")   

UIApplication.sharedApplication().delegate?.window!!.addSubview(newView!)

+0

Каково сообщение в консоли отладки? – Bienemann

+0

Не может помочь вам, не видя ваш код, консольную ошибку и т. Д. Отредактируйте свой вопрос и добавьте эти данные. –

+0

ошибок нет в консоли. Только я получаю ошибку основного потока. – samad5353

ответ

0

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

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

0

Контроллеры вашего представления должны быть подклассом UIViewController или UITableViewController, за исключением того, что вы обходите унаследованные зависимости и вызывают нежелательное поведение.

Кроме того, ваш контроллер представления должен иметь tableView.delegate = self и tableView.dataSource = self в вашем инициализаторе или viewDidLoad() Это может быть частью проблемы для вашего дела.