Size: a a a

iOS Developers — русскоговорящее сообщество

2020 February 25

N

Nikita in iOS Developers — русскоговорящее сообщество
N U
там self в конце должен быть?
метод ожидает тип, значит должен быть. Но даже если его убрать, еррор такой же
источник

NU

N U in iOS Developers — русскоговорящее сообщество
Nikita
метод ожидает тип, значит должен быть. Но даже если его убрать, еррор такой же
скинь в личку код
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
сюда кидай
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
class TestCell: UITableViewCell, Reusable {}

class MultipleTypeCellProvider {
   
var cellType: Any.Type = TestCell.self
}

class Test {
   
func test() {
       
let tableView = UITableView(frame: .zero)
       
let cellProvider = MultipleTypeCellProvider()
       
if let multipleTypeCastedCellType = cellProvider.cellType as? (UITableViewCell & Reusable).Type {
           tableView.test_dequeueReusableCell(multipleTypeCastedCellType)
       }
   }
}

extension UITableView {
   
func test_dequeueReusableCell<C: UITableViewCell>(_ cellType: C.Type) -> C? where C: Reusable {
       
return dequeueReusableCell(withIdentifier: C.reuseIdentifier) as? C
   }
}
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
ну и реюзбл
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
public protocol Reusable {
   
static var reuseIdentifier: String { get }
}

public extension Reusable {
   
static var reuseIdentifier: String {
       
return String(describing: self)
   }
   
}
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
Вместо Type попробуй self там где кастиш
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
а не
источник

FM

Fr Mr in iOS Developers — русскоговорящее сообщество
Как убрать нижний boarder из List в SwiftUI?
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
Nikita
class TestCell: UITableViewCell, Reusable {}

class MultipleTypeCellProvider {
   
var cellType: Any.Type = TestCell.self
}

class Test {
   
func test() {
       
let tableView = UITableView(frame: .zero)
       
let cellProvider = MultipleTypeCellProvider()
       
if let multipleTypeCastedCellType = cellProvider.cellType as? (UITableViewCell & Reusable).Type {
           tableView.test_dequeueReusableCell(multipleTypeCastedCellType)
       }
   }
}

extension UITableView {
   
func test_dequeueReusableCell<C: UITableViewCell>(_ cellType: C.Type) -> C? where C: Reusable {
       
return dequeueReusableCell(withIdentifier: C.reuseIdentifier) as? C
   }
}
а какого типа у тебя multipleTypeCastedCellType получился?
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
Ekaterina Mazalova
а какого типа у тебя multipleTypeCastedCellType получился?
let multipleTypeCastedCellType: (UITableViewCell & Reusable).Type
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
Nikita
let multipleTypeCastedCellType: (UITableViewCell & Reusable).Type
if let multipleTypeCastedCellType = cellProvider.cellType as? ... вот там
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
видимо ожидается кто-то, кто наследуется от UITableViewCell
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
Ekaterina Mazalova
видимо ожидается кто-то, кто наследуется от UITableViewCell
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
да, проблема в том, что ожидается какой-то подкласс UITableViewCell, который реализует протокол
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
нужны другие ограничения дженериков
источник

NU

N U in iOS Developers — русскоговорящее сообщество
Nikita
let multipleTypeCastedCellType: (UITableViewCell & Reusable).Type
в чем смысл MultipleTypeCellProvider?
источник

EM

Ekaterina Mazalova in iOS Developers — русскоговорящее сообщество
метод test_deque должен по другому описывать аргументы
источник

N

Nikita in iOS Developers — русскоговорящее сообщество
Ekaterina Mazalova
метод test_deque должен по другому описывать аргументы
это печально, думал обойтись кастингом, но видимо никак
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
Nikita
это печально, думал обойтись кастингом, но видимо никак
попробуй так
источник