Проблемы со связанными значениями перечислений

Я создал ответное перечисление для моего возвращаемого значения в сети и функцию, которая должна возвращать 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 и значения

В конце концов в моем коде мне нужно будет присвоить это значение 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:(

1 ответ

Решение

Я бы посоветовал вам прочитать Книгу Свифта:

func getResponse() -> Any {
    switch self {
    case .Success(let value):
        return value
    case .Failure(let errorNumber):
        return errorNumber
    }
}
Другие вопросы по тегам