Swift:无法使用实现Objectmappers Mappable的自定义类返回类型重写方法

时间:2019-04-11 16:06:46

标签: ios swift objectmapper

我想覆盖在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。

0 个答案:

没有答案