Наследование представления с классом контроллера представления: будет ли новый класс создавать экземпляры объектов пользовательского интерфейса базы? - PullRequest
0 голосов
/ 08 января 2011

У меня есть базовый класс View Controller с представлением и некоторыми элементами управления, подключенными к розеткам в моем приложении MonoTouch, которое описывает пользовательскую ячейку таблицы. Из этого класса я наследую все мои другие пользовательские ячейки. Это довольно удобно, но я не уверен, будет ли унаследованный класс создавать экземпляр представления и подпредставлений базы (и, следовательно, пожирать двойную память)?

База имеет UITableViewCell с тремя UILabel и двумя кнопками. Они подключены к розеткам, потому что мне нужно было добавить некоторые базовые функции в базовый класс.

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

Если унаследованный класс действительно создает экземпляры элементов интерфейса базы вместе со своими собственными, есть ли способ для меня исправить это и использовать только элементы интерфейса базы?

Спасибо за чтение.

1 Ответ

1 голос
/ 14 января 2011

Я постараюсь ответить на то, что я понял. Посмотрим. У вас есть UIViewController, который управляет UITableViewCell. В IB вы подключаете некоторые элементы управления вашей ячейки к контроллеру.

Я не понимаю, что вы имеете в виду, добавляя одни и те же виды вручную. Зачем ты это делаешь?

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

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

Думайте о представлениях в IB как о «сериализованной» версии объектов. Они настоящие объекты. Это означает, что если у вас есть кнопка и метка в IB, при загрузке вещи из IB будут выполнены «new UIButton ()» и «new UILabel ()».

Если в вашем классе наследования вам не нужны базовые вещи, не наследуйте.

Вы новичок в объектно-ориентированной разработке? Может быть, вам стоит сначала разобраться с основами наследования, полиморфизма и объектно-ориентированного развития в целом - или я совершенно неправильно понял ваш вопрос?

...