gpt4 book ai didi

ios - 无法推断通用参数类型 'T'

转载 作者:行者123 更新时间:2023-11-28 08:46:49 24 4
gpt4 key购买 nike

我从这段代码中收到错误“无法推断通用参数类型‘T’”。

public func userTappedView(headerFooterView: CollapsableTableViewSectionHeaderProtocol, atPoint location:CGPoint) {

if let tableView = self.collapsableTableView() {

//Error here
let value = sectionForUserSelectionInTableView(tableView, atTouchLocation: location, inView: headerFooterView)
...
}
...
}


func sectionForUserSelectionInTableView<T: UITableViewHeaderFooterView where T: CollapsableTableViewSectionHeaderProtocol>(tableView: UITableView, atTouchLocation location:CGPoint, inView view: T) -> NSNumber? {
...
}

最佳答案

我希望我能理解您的问题,即确保 UITableViewHeaderFooterView 的子类符合协议(protocol) CollapsableTableViewSectionHeaderProtocol。

如果我的假设是正确的,你可以这样做:



//// Define a protocol
protocol CollapsableTableViewSectionHeaderProtocol {
func sectionForUserSelectionInTableView(tableView: UITableView, atTouchLocation location:CGPoint, inView view: T) -> NSNumber?
}

class MyTableViewController: UITableViewController {
internal func userTappedView(headerFooterView: UITableViewHeaderFooterView, atPoint location:CGPoint) {
//// Call CollapsableTableViewSectionHeaderProtocol method
let value = headerFooterView.sectionForUserSelectionInTableView(self.tableView, atTouchLocation: location, inView: headerFooterView)
print(value)
}
}

//// Implement CollapsableTableViewSectionHeaderProtocol for UITableViewHeaderFooterView via extension
extension UITableViewHeaderFooterView: CollapsableTableViewSectionHeaderProtocol {
func sectionForUserSelectionInTableView(tableView: UITableView, atTouchLocation location:CGPoint, inView view: T) -> NSNumber? {
//....
return nil
}
}

关于ios - 无法推断通用参数类型 'T',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com