Почему Lazy Vars Swift решает ошибку: не может присвоить значение типа '(HomeViewController) -> () -> HomeViewControllerIOS

Программируем под IOS
Ответить
Anonymous
 Почему Lazy Vars Swift решает ошибку: не может присвоить значение типа '(HomeViewController) -> () -> HomeViewController

Сообщение Anonymous »

Ниже код дает ошибку: < /p>

Код: Выделить всё

class HomeViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

let tableView = {
let t = UITableView(frame: .zero, style: .grouped)
t.dataSource = self
t.delegate = self
return t
}()

...
}
< /code>
Ошибка: < /p>
Cannot assign value of type '(HomeViewController) -> () -> HomeViewController' to type '(any UITableViewDataSource)?'
Однако, если я изменю его на ленивый var tableview = {} () , то ошибка исчезает:

Код: Выделить всё

class HomeViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

lazy var tableView = {
let t = UITableView(frame: .zero, style: .grouped)
t.dataSource = self
t.delegate = self
return t
}()

...

}
Почему Lazy var решает эту ошибку?

Подробнее здесь: https://stackoverflow.com/questions/795 ... pe-homevie
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»