У меня проблема с popover. Если я коснусь ячейки, я загружу popover, чтобы выбрать более подробную информацию. Все работает нормально, но когда я снова нажимаю свою ячейку, я получаю каждый раз следующее сообщение:
Предупреждение: попытка представить ModalTableViewController... на MainTableViewController... который уже представляет (null)
Если я коснусь другой ячейки, я не получу это предупреждение. Только если снова нажмите одну и ту же строку.
Я пробовал много вещей, но я не могу решить эту проблему. Я загружаю свой popover следующим образом:
var popover: UIPopoverController!
var popoverContent: ModalTableViewController!
и на моем ящике:
popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("ModalTableViewController") as ModalTableViewController
popoverContent.selectedQuestionID = indexPath!.row
popover = UIPopoverController(contentViewController: popoverContent)
popover.delegate = self
popover.presentPopoverFromRect(currentCell.LabelCellTitle.frame, inView: currentCell.LabelCellTitle.superview, permittedArrowDirections: UIPopoverArrowDirection.Left, animated: true)
И отклонить
func popoverControllerDidDismissPopover(popoverController: UIPopoverController!) {
popover.dismissPopoverAnimated(false) // just to check
self.popover = nil
self.popoverContent = nil
}
Любые идеи?
Edit:
Если я проверяю:
if(self.popoverContent == nil) {
прежде чем открыть его, я узнаю, что это не ноль, когда я снова нажимаю одну и ту же ячейку.
Изменить еще раз:
У меня такая же проблема, если я создаю ее с небольшой настройкой:
Пользовательская кнопка 1x1px. Соедините popover с segue. На кнопке перехода ячейки на ячейку и открыть popover.
Таким образом, нет кода для открытия popover, только с редактором раскадровки.
Я получаю одно и то же сообщение об ошибке (иногда), только если я снова коснусь того же popover.