2015-05-29 2 views
0

У меня есть пользовательское изображение (изображение профиля), которое я хочу щелкнуть и перейти к профилю. Я регистрирую клик, и у меня установлен segue в раскадровке, но когда я нажимаю, ничего не происходит. Изображение профиля является частью PFTableViewCell (используя синтаксический анализ), который является частью PFQueryTableViewController. Я пытаюсь перейти к другому PFQueryTableViewController. Вот как они связаны на раскадровку:нажмите на UIImageView, чтобы изменить ViewController

enter image description here

И вот что я пытаюсь сделать в коде перехода:

func onProfileTap(send:AnyObject){ 
    NSLog("Profile Clicked") 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    var vc:WrapperProfileViewController = storyboard.instantiateViewControllerWithIdentifier("ProfileViewController") as! WrapperProfileViewController 
    vc.parseUser = parseUser! 
    holder?.navigationController!.pushViewController(vc, animated: true) 
    //holder is a PFQueryTableViewController. "self" is PFTableViewCell 
} 

я сделал что-то очень похожее на это раньше и это сработало. Я проверил, чтобы убедиться, что идентификатор segue верен, но ничего не происходит, кроме печати NSLog на консоли.

+0

Используйте делегат, чтобы передать элемент управления PFQueryTableViewController и обрабатывать контроллер pushing view. – Amit89

+0

Является ли ваш «основной канал» встроенным в UINavigationController (не могу сказать выше). Определенно должно быть, если вы собираетесь делать «pushViewController». – cbiggin

ответ

1

Просто глядя на свой код и ничего не зная о своей ситуации, я бы предположил, что holder is nil. Это, безусловно, было бы причиной «ничего не происходит». Вы можете легко проверить это с помощью другого оператора println.

+0

Да, это так. Меня смущает то, что у меня есть другой ViewCell в другом ViewController, и оба они почти идентичны, и работает то же самое. Я создаю их так же, и все одинаково, кроме контента и их местоположений на раскадровке. Тот, с которым я столкнулся, - это представление «основной канал», которое отображается после входа в систему, а тот, который работает, связан одним из элементов панели табуляции. Я продолжу расследование их разногласий. – LulzCow

+0

Хорошо, но я верю, что ответил на вопрос, который вы задали, а именно, почему ничего не происходит. Вы не дали достаточно информации, чтобы идти дальше, и мой ответ охватывает информацию, которую вы дали. – matt

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