我想覆盖在Parent类中定义的方法,该方法会生成一个自定义类。
父母:
open class PagedTableViewController<T>: UIViewController {
open func getSelectedFilters () -> SelectedFiltersResource {
return SelectedFiltersResource()
}
}
当我尝试在子类中重写它时,出现错误消息“方法未从其超类重写任何方法”
孩子看起来像这样:
class ReshipmentsTabViewController:
PagedTableViewController<Reshipment> {
//This does NOT work
override func getSelectedFilters() -> SelectedFiltersResource {
return SelectedFiltersResource()
}
//This DOES work (if i also change the type in the parent obv.)
override func getSelectedFilters() -> String {
return String()
}
}
这对我来说毫无意义,因为孩子显然确实覆盖了该功能。 我尝试将Return类型切换为String,然后成功了。所以我想我的结果类型就是问题:
import Foundation
import ObjectMapper
open class SelectedFiltersResource: NSObject, Mappable {
public var selectedCustomers = [Int64]()
public override init() {
}
public required init?(map: Map) {
}
// Mappable
public func mapping(map: Map) {
selectedCustomers <- map["selectedCustomers"]
}
}
那么这里的问题是什么?我看不到任何...我使用Swift 5.0和Xcode 10.2 我的SelectedFilters类和Parent类来自Cocoapod。