У меня есть модель:
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()!)
.
Это работало раньше, это ошибка?
У меня такая же ошибка.
Предполагая, что у вас есть строка 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:"<>" ))
Самый полезный комментарий
@ robbiet480 правильно. Это не ошибка, а изменение в API. Mapper теперь использует именованные параметры в большинстве своих функций.
Существует новый API, который вы можете использовать для сопоставления ваших объектов. Существует расширение для
Mappable
, которое обеспечивает сопоставление на основе инициализатора для ваших объектов, которые соответствуютMappable
. Вот пример для вашей ситуации: