AlamofireObjectMapper.swift 第 74 行适用于 Playground,但不适用于设备或模拟器
Posted
技术标签:
【中文标题】AlamofireObjectMapper.swift 第 74 行适用于 Playground,但不适用于设备或模拟器【英文标题】:AlamofireObjectMapper.swift line 74 works in Playground but not on device or emulator 【发布时间】:2017-01-06 14:09:04 【问题描述】:以下如何在 Xcode Playground 中工作,而不是在设备或模拟器上运行时。
Alamofire 一切正常。我可以通过.responseJSON
没问题。
但是使用.responseObject
会失败here in line 74 和SIGABRT
控制台说:Message from debugger: Terminated due to signal 9
同样,这是在 Playground 中使用相同的类和 Alamofire.request
Alamofire.request(
url_planday_employees,
method: .get,
headers: headers_employees).responseObject (response: DataResponse<Items>) in
// Error
for item in (userResponse?.items)!
if let user = item.user
print("Result in... user")
print("Name:" + user.name! )
类:
class User: Mappable
var name: String?
var id: Int?
required init?(map: Map)
func mapping(map: Map)
name <- map["name"]
id <- map["id"]
class Item: Mappable
var user: User?
required init?(map: Map)
func mapping(map: Map)
user <- map["item"]
class Items: Mappable
var items: [Item]?
required init?(map: Map)
func mapping(map: Map)
items <- map["items"]
JSON:
"items": [
"item":
"id": 1,
"name": "Anders And"
,
"item":
"id": 2,
"name": "Andersine"
]
【问题讨论】:
【参考方案1】:问题似乎与 ObjectMapper 库的 2.2.1 和 2.2.2 之间的不兼容问题有关。
这是刚刚打开的相关问题:
https://github.com/tristanhimmelman/AlamofireObjectMapper/issues/179 https://github.com/Hearst-DD/ObjectMapper/issues/722为了快速修复,您可以使用旧版本 (2.2.1):
至于迦太基是怎么做的:
github "Alamofire/Alamofire" ~> 4.3.0
github "tristanhimmelman/AlamofireObjectMapper" ~> 4.0.1
github "Hearst-DD/ObjectMapper" == 2.2.1
更新
从 2.2.3 版开始,问题似乎已修复:
github "Hearst-DD/ObjectMapper" ~> 2.2.3
【讨论】:
以上是关于AlamofireObjectMapper.swift 第 74 行适用于 Playground,但不适用于设备或模拟器的主要内容,如果未能解决你的问题,请参考以下文章