mic*_*nin 3 generics uitableview uicollectionview swift swift3
我在翻译我的应用程序斯威夫特3.我在一个问题,用设置数据源和委托一个UITableViewCell内UICollectionView,描述了一个干净的方式跌跌撞撞的过程在这里.
代码如下:
func setCollectionViewDataSourceDelegate<D: protocol<UICollectionViewDataSource, UICollectionViewDelegate>>
(_ dataSourceDelegate: D, forRow row: Int) {
collectionView.delegate = dataSourceDelegate
collectionView.dataSource = dataSourceDelegate
collectionView.tag = row
collectionView.reloadData()}
Run Code Online (Sandbox Code Playgroud)
它会发出警告,说:
'protocol <...>'组合语法已弃用; 使用'&'加入协议
当我接受建议的解决方案时,它会更改D: protocol<UICollectionViewDataSource, UICollectionViewDelegate>为一个D: (UICollectionViewDatasource & UICollectionViewDelegate)调用,而是抛出一个错误:
预期限制'D'的类型名称或协议组成
如果对Swift 3仿制药有更好理解的人可以提出解决方案,我将非常感激.
不需要使用,protocol<>因为编译器已经知道了.只需加入这样的协议:D: UITableViewDelegate & UITableViewDataSource
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |