加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 部分申请thunk Crash.

发布时间:2020-12-14 04:57:04 所属栏目:百科 来源:网络整理
导读:无法理解Crashlytics中的崩溃报告. 这是崩溃日志: Crashed: com.apple.main-thread0 Rekindlr 0x10007a728 ViewController.(user_info(Match?,completionHandler : (Bool?) - ()) - ()).(closure #1) (ViewController.swift:201)1 Alamofire 0x100156678 pa
无法理解Crashlytics中的崩溃报告.

这是崩溃日志:

Crashed: com.apple.main-thread
0  Rekindlr                       0x10007a728 ViewController.(user_info(Match?,completionHandler : (Bool?) -> ()) -> ()).(closure #1) (ViewController.swift:201)
1  Alamofire                      0x100156678 partial apply for thunk (ResponseSerialization.swift)
2  Alamofire                      0x10015891c specialized Request.(response<A where ...> (queue : OS_dispatch_queue?,responseSerializer : A,completionHandler : (Response<A.SerializedObject,A.ErrorObject>) -> ()) -> Self).(closure #1).(closure #1) (ResponseSerialization.swift:131)
3  libdispatch.dylib              0x1827614bc _dispatch_call_block_and_release + 24
4  libdispatch.dylib              0x18276147c _dispatch_client_callout + 16
5  libdispatch.dylib              0x182766b84 _dispatch_main_queue_callback_4CF + 1844
6  CoreFoundation                 0x182cccdd8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
7  CoreFoundation                 0x182ccac40 __CFRunLoopRun + 1628
8  CoreFoundation                 0x182bf4d10 CFRunLoopRunSpecific + 384
9  GraphicsServices               0x1844dc088 GSEventRunModal + 180
10 UIKit                          0x187ec9f70 UIApplicationMain + 204
11 Rekindlr                       0x10007d4e4 main (AppDelegate.swift:17)
12 libdispatch.dylib              0x1827928b8 (Missing)

以及相关来源:

typealias CompletionHandler = (success: Bool) -> Void


func user_info(match:(Match?),completionHandler:CompletionHandler) {
    var tind_id = match!.tinder_id
    var user_url = "(USER_INFO_URL)(tind_id)"
    Alamofire.request(.GET,user_url,headers: ["X-Auth-Token": tinder_token],encoding: .JSON)
        .responseJSON { response in

            let json = JSON(response.result.value!)

            var result = json["results"]
            var distance = result["distance_mi"].intValue

            let realm = try! Realm()

            try! realm.write {
                match?.distance_km = round(Double(distance) / 0.62137)
            }

            completionHandler(success: true)
    }
}

我猜我在使用completionHandler时遇到了什么问题?但它不会发生在每个人身上.我无法重现崩溃,但我的一些用户正在获取它.

解决方法

同意@Uri和@matt – 如果你不知道do / catch语法,下面是这些行的实现方式:

do {
  let realm = try Realm()
  try realm.write {
    match?.distance_km = round(Double(distance) / 0.62137)
  }
}catch {
  print(error)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读