2014-09-03 2 views
1

Я создаю шаблон A. В этом шаблоне я создаю таблицу и имею данные. Когда я создаю класс B. @interface B: A. Если B имеет tableView, tableView в Шаблоне A просто распознает UITableView Delegate + UITableViewDatasource в классе B. Как распознать UITableView Delegate + UITableViewDatasource каждого tableView в другом классе.IOS Создать делегат uitableview в другом классе

ответ

3

Нет шаблона, это класс. Таким образом, вы создаете класс A, внутри которого вы настроили tableView и назначили его делегату и источнику данных self. Затем вы создаете класс B как подкласс класса A. Любой объект класса B по-прежнему будет делегатом и источником данных в свою собственную таблицу. Если вы хотите изменить делегат и источник данных в таблице, вы можете просто назначить его свойства .dataSource и .delegate так, как вы хотите.

Update:

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

В таком случае, вот что вы do: Создайте класс, который будет источником данных и делегатом. Допустим, это называется ADD. Начните с создания свойства:

@property(nonatomic,assign) id <UITableViewDelegate, UITableViewDataSource> tvDelegate; 

В инициализаторе, сделайте:

self.tvDelegate = [ADD new]; 
self.tableView.datasource = tvDelegate; 
self.tableView.delegate = tvDelegate; 

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

+0

Ох, спасибо за помощь, но я имею в виду, что шаблон будет использоваться в каком-то другом классе, я настраиваю интерфейс в этом и другом классе, создавая в качестве подкласса класса A, это просто имя, которое я вызываю. –

0

Если я понимаю, что вы говорите, вот link на другой вопрос, который поможет вам в этом.

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