0

我为我的网络返回值创建了一个响应枚举AnyObject和一个应该返回的函数,因为它必须是一个键的值。

enum Response {

    case Success(value:AnyObject)
    case Failure(errorNumber: Int)

    func getResponse() -> AnyObject{
        switch self {
        case .Success(value: AnyObject):
            return value
        case .Failure(errorNumber: Int):
            return errorNumber
        }
    }

}

生成以下错误: 我没有为错误添加实际文本,因为我想向您展示它甚至不为 errorNumber 和 value 进行语法突出显示在此处输入图像描述

最终在我的代码中,我必须将此值分配给AnyObject稍后任何对象将被向下转换为[NSObject : AnyObject]

所以我会:

var data : AnyObject? // <-- from our internal framework
data = Response.Success(data)
var params = data as! [NSObject : AnyObject] // <-- from our internal framework

第一个代码片段是我的新代码,但内部框架是我无法更改的代码行。

仅供参考我们的代码仍在使用 Swift2 :(

4

1 回答 1

1

我建议您阅读Swift Book

func getResponse() -> Any {
    switch self {
    case .Success(let value):
        return value
    case .Failure(let errorNumber):
        return errorNumber
    }
}
于 2017-04-03T20:42:03.187 回答