Не удается преобразовать значение типа '(_) -> ()' в ожидаемый тип аргумента '(() -> ())?' - PullRequest
1 голос
/ 27 апреля 2019

Я перенес свое приложение iOS Swift 3 в Swift 4. Я получил:

Невозможно преобразовать значение типа '(_) -> ()' в ожидаемый тип аргумента '(() -> ())?'

ошибка при попытке вызвать этот метод:

self.aPIManager.registerDeviceId(deviceTokenStr,onSuccess:{
            getRegister in
},
    onError: { message in
        AppUtility.hideLoading(self.window!)
})

Вот декларация aPIManager.registerDeviceId:

open  func registerDeviceId(_ deviceId: String, onSuccess successBlock: (() -> ())!, onError errorBlock: ((String?) -> Void)!) {
    ...
}

Вот те же функции в Swift 3 до перехода к Swift 4:

open  func registerDeviceId(_ deviceId: String, onSuccess successBlock: 

(() -> Void)!, onError errorBlock: ((String?) -> Void)!) {
   ...        
}

А вот и звонок:

self.aPIManager.registerDeviceId(deviceTokenStr,onSuccess:{
        getRegister in
},
    onError: { message in
        AppUtility.hideLoading(self.window!)
})

Я новичок в Свифте. Я был бы признателен, если бы вы предоставили мне некоторую информацию об этом типе объявления функции (функция без имени в этом объявлении).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...