2015-10-17 2 views
0

У меня есть tableViewController с контейнером в главном окне моего приложения. Пользователь может выбрать одну из трех кнопок, которая должна передать новое значение в tableViewController и перезагрузить tableView.Быстрая перезагрузка TableView, которая содержится в контейнере View

Я не могу найти пример того, как лучше всего это сделать программно.

Любые предложения или ссылки на примеры спасибо.

Добавление некоторого кода, что я пытался

@IBAction func checkins10(sender: AnyObject) { 
    statusImage10.hidden = false 
    statusImage1.hidden = true 
    statusImage5.hidden = true 
    self.hourWindow = 10.00 

    reloadCheckInView() 
} 


func reloadCheckInView() { 
    let checkInsTableViewController: FriendCheckInTableViewController = FriendCheckInTableViewController(nibName: "FriendCheckInTableViewController", bundle: nil) 
    checkInsTableViewController.checkInsTableView.reloadData() 

} 

Изменено

func reloadCheckInView() { 
    // let checkInsTableViewController: FriendCheckInTableViewController = FriendCheckInTableViewController(nibName: "FriendCheckInTableViewController", bundle: nil) 
    var viewControllerStoryboardId = "FriendCheckInTableViewController" 
    var storyboardName = "Main" 
    var storyboard = UIStoryboard(name: storyboardName, bundle: NSBundle.mainBundle()) 
    let checkInsTableViewController = storyboard.instantiateViewControllerWithIdentifier(viewControllerStoryboardId) as UIViewController! 
+1

Что вы пытались, а что не работает? Необходимо быть более конкретным, и это помогает, если вы можете опубликовать некоторый код. –

+0

Я просто добавил то, что я только что пробовал, но получаю «фатальную ошибку: неожиданно нашел нуль при распаковке необязательного значения» на 'checkInsTableViewController.checkInsTableView.reloadData()' – ddpishere

+0

, после чего ваш checkInsTableViewController не будет правильно инициализирован. –

ответ

2

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

+0

Думаю, я направляюсь по этой дороге. Я изменил код в '' reloadCheckInView' к вар viewControllerStoryboardId = "FriendCheckInTableViewController" '' вар storyboardName = "Main" '' вар раскадровка = UIStoryboard (имя: storyboardName, расслоение: NSBundle.mainBundle()) '' пусть checkInsTableViewController = storyboard.instantiateViewControllerWithIdentifier (viewControllerStoryboardId) как UIViewController! ' – ddpishere

0

Вам необходимо создать var для tableview и подключить его в своем раскадровке.

@IBOutlet weak var checkInsTableView: UITableView? 

Подключите его к вашему табло в раскадровке и просто обновите данные по мере необходимости.

self.checkInsTableView.reloadData() 
+0

Если var' checkInsTableView' подключен к моему TableViewController, который находится в контейнере моего основного вида. Как я могу получить 'self.checkInsTableView.reloadData()' для вызова? – ddpishere

+0

Вы пытаетесь обновить представление таблицы в другом контроллере представления, который не отображается? Вы должны вызывать .reloadData() в текущем представлении в вашем текущем представлении таблицы. Если вам нужно обновить данные где-то в другом месте, вы должны перестроить свой вопрос, чтобы получить лучший ответ. –

+0

Или дайте больше кода для своего текущего класса, чтобы вы могли получить дополнительную помощь, поскольку больше контекста поможет каждому понять, что вам нужно сделать. –

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

  • Нет связанных вопросов^_^