Objectmapper: Метки аргументов '(_:)' не соответствуют ни одной из доступных перегрузок.

Созданный на 17 сент. 2016  ·  4Комментарии  ·  Источник: tristanhimmelman/ObjectMapper

У меня есть модель:

class Branch: Mappable {
    var id: Int!
    var name: String!
    var city: String!
    var address: String!
    var base_url: String!
    var image: String?
    var caffe: Bool!
    var restaurant: Bool!
    var latitude: String!
    var longitude: String!
    var phone: String!
    var mobtel: String!
    var ft_count: Int!
    var ft_grouped_count: String!

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        id <- map["id"]
        name <- map["name"]
        city <- map["city"]
        address <- map["address"]
        base_url <- map["base_url"]
        image <- map["image"]
        caffe <- map["caffe"]
        restaurant <- map["restaurant"]
        latitude <- map["latitude"]
        longitude <- map["longitude"]
        phone <- map["phone"]
        mobtel <- map["mobtel"]
    }
}

а также:

                        let jsonObj = JSON(response.result.value)
                        for obj in jsonObj {
                            let branch = Mapper<Branch>().map(obj.1.rawString()!) // error here
                            self.results.append(branch!)
                        }

но я получаю ошибку:

Argument labels '(_:)' do not match any available overloads

в этой строке let branch = Mapper<Branch>().map(obj.1.rawString()!) .

Это работало раньше, это ошибка?

Самый полезный комментарий

@ robbiet480 правильно. Это не ошибка, а изменение в API. Mapper теперь использует именованные параметры в большинстве своих функций.

Существует новый API, который вы можете использовать для сопоставления ваших объектов. Существует расширение для Mappable , которое обеспечивает сопоставление на основе инициализатора для ваших объектов, которые соответствуют Mappable . Вот пример для вашей ситуации:

let branch = Branch(JSONString: obj.1.rawString()!)

Все 4 Комментарий

У меня такая же ошибка.

Предполагая, что у вас есть строка JSON, вы сможете решить проблему, изменив ее на это:

let branch = Mapper<Branch>().map(JSONString: obj.1.rawString()!)

@ robbiet480 правильно. Это не ошибка, а изменение в API. Mapper теперь использует именованные параметры в большинстве своих функций.

Существует новый API, который вы можете использовать для сопоставления ваших объектов. Существует расширение для Mappable , которое обеспечивает сопоставление на основе инициализатора для ваших объектов, которые соответствуют Mappable . Вот пример для вашей ситуации:

let branch = Branch(JSONString: obj.1.rawString()!)

у меня такая же ошибка с этим.
var token = deviceToken.description.trimmingCharacters(in: CharacterSet(charactersInString:"<>" ))

Была ли эта страница полезной?
0 / 5 - 0 рейтинги