MonoTouch: переменная выхода UITableView равна нулю - PullRequest
1 голос
/ 31 августа 2010

Я бегу через раздел «Навигация по таблицам» в Профессиональном программировании iPhone Wrox с MonoTouch от McClure и др., Изучаю основы создания иерархического пользовательского интерфейса для iOS и сталкиваюсь со следующей проблемой.

Я создал новый файл «iPhone View with Controller» (называемый ParametersViewController), удалил из него UIView, добавил UITableView, создал для него выход (tableView) и подключил «Выход файла "Владелец файла" для UITableView, согласно учебнику.

В методе RowSelected родительского представления этого представления я создаю экземпляр своего ParametersViewController, вызывая конструктор по умолчанию, в котором я хочуустановить источник данных табличного представления:

this.tableView.Source = new DataSource(this, new [] {"one", "two", "three"});

(DataSource - это вложенный класс, который наследуется от UITableViewSource)

Все компилируется и работает нормально, до точки, где этолиния выполнена.Оказывается, что this.tableView равно нулю, поэтому я получаю NullReferenceException.

tableView - это выход для стола.Как это может быть нулевым?Разве я не могу установить источник таблицы здесь в конструкторе?Если нет, то где мне это сделать?

Ответы [ 2 ]

3 голосов
/ 10 сентября 2010

Решение для этого было

  • Не создавайте розетку с именем tableView
  • Сделать представление подклассом UITableViewController вместо UIViewController
  • Обратитесь к свойству base.TableView моего UITableViewController, а не к глупому выпуску, который я создал
0 голосов
/ 02 сентября 2010

Я не на 100% уверен в том, что и где вы делаете, но, возможно, вам нужен доступ к UITableView в методе ViewDidLoad UIViewController.На этом этапе должны быть созданы ваши представления NIB.

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

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