diff --git a/DataSourceKit/CollectionViewDataSource.swift b/DataSourceKit/CollectionViewDataSource.swift index 32f820c..d84aa50 100644 --- a/DataSourceKit/CollectionViewDataSource.swift +++ b/DataSourceKit/CollectionViewDataSource.swift @@ -36,3 +36,11 @@ public class CollectionViewDataSource: NSObject, UICollectionVi return cell } } + +extension CollectionViewDataSource where CellDeclaration == CellBinder { + // Add meaningless parameter to avoid error `Members of constrained extensions + // cannot be declared @objc`, which is caused by collision to init() of NSObject. + public convenience init(_ declarationType: CellDeclaration.Type) { + self.init(binderFromDeclaration: { $0 }) + } +} diff --git a/DataSourceKit/TableViewDataSource.swift b/DataSourceKit/TableViewDataSource.swift index 2c94d21..44d40a4 100644 --- a/DataSourceKit/TableViewDataSource.swift +++ b/DataSourceKit/TableViewDataSource.swift @@ -36,3 +36,11 @@ public class TableViewDataSource: NSObject, UITableViewDataSour return cell } } + +extension TableViewDataSource where CellDeclaration == CellBinder { + // Add meaningless parameter to avoid error `Members of constrained extensions + // cannot be declared @objc`, which is caused by collision to init() of NSObject. + public convenience init(_ declarationType: CellDeclaration.Type) { + self.init(binderFromDeclaration: { $0 }) + } +}