Получение cra sh при преобразовании Error в NSEroor (_swift_stdlib_bridgeErrorToNSError) в swift - PullRequest
0 голосов
/ 20 февраля 2020
Crashed: com.apple.main-thread
0  libswiftCore.dylib             0x19db65dd4 _swift_stdlib_bridgeErrorToNSError + 36
1                                 0x101005410 closure #2 in closure #1 in MCRegistrationViewController.requestForVerificationCode() + 229 (MCRegistrationViewController.swift:229)
2                                 0x10105e2d0 thunk for @escaping @callee_guaranteed (@guaranteed NSURLSessionDataTask, @guaranteed Error) -> () + 4339360464 (<compiler-generated>:4339360464)
3                                 0x100f956f8 __68-[BoomAPIClient callSuccessBlock:failureBlock:forTask:withResponse:]_block_invoke + 522 (BoomAPIClient.m:522)
4  libdispatch.dylib              0x19042d610 _dispatch_call_block_and_release + 24
5  libdispatch.dylib              0x19042e184 _dispatch_client_callout + 16
6  libdispatch.dylib              0x1903e01d0 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044
7  CoreFoundation                 0x1906de3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
8  CoreFoundation                 0x1906d93b8 __CFRunLoopRun + 2004
9  CoreFoundation                 0x1906d88bc CFRunLoopRunSpecific + 464
10 GraphicsServices               0x19a543328 GSEventRunModal + 104
11 UIKitCore                      0x19476d6d4 UIApplicationMain + 1936
12                                0x100fba224 main + 5 (main.m:5)
13 libdyld.dylib                  0x190563460 start + 4

Я пытался преобразовать быструю ошибку в Objective C NSError, но при этом получил cra * sh.

if let convertedError = error as NSError? {

}

Спасибо, Ники

1 Ответ

0 голосов
/ 20 февраля 2020

От ошибки к NSError пытается получить доступ к errorCode и errorDomain.

extension CustomError: LocalizedError {
public var errorDescription: String? {
    return "Some localized description"
}
}

extension CustomError: CustomNSError {
    public static var errorDomain: String {
        return "Some Domain Name"
    }
    public var errorCode: Int {
        return 204 //Should be your custom error code.
    }
}
...