2015-07-09 4 views
0

я посвежее и я делаю мое приложение в быстром языке, и я хочу знать, что разница междуЧто использовать метод делегата tableview cellforrowatindexpath в swift?

func cellForRowAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell? 

и

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell/ 

методы делегата в UITableView?

+0

Используется для отображения данных – sohil

ответ

2

Как один прямой ответ на вопрос,

Первый метод

func cellForRowAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell? 

not tableView delegate method является. Это метод экземпляра в UITableView Class. Который используется для получения ячейки от tableView экземпляра, передавая indexPath в качестве параметра. Таким образом, вы будете использовать этот метод на примере tableView.

Второй метод

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

является метод из источника данных UITableView, который используется для заполнения Tableview клеток. Этот метод будет реализован в классе datasource/delegate.

1

func cellForRowAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell? - метод UITableView, он используется для получения ячейки в заданное время, когда определено представление таблицы. Например, его можно использовать для проверки, является ли ячейка видна. Если он не виден, этот метод вернет нуль.

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell - это метод UITableViewDataSource, он используется для определения всех ячеек табличного представления, чтобы он мог знать, что отображать.

+0

Что вы подразумеваете под "cell visible"? –

+0

@KrishSolanki, например, если в вашем табличном представлении содержится 100 строк, отобразятся только некоторые из них (например, 10 или около того), остальные не отображаются до тех пор, пока вы не прокрутите список. Первый метод будет возвращать nil, если ячейка в данный момент отсутствует на экране. – streem

1

Первый метод

func cellForRowAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell? 

Это instance метод UITableView Class. И он используется для получения ячейки из экземпляра tableView, передавая параметр indexPath как параметр.

, а второй

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

является datasource метод UITableView, и он является одним из метода требует в UITableView.

спасибо.

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