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