Я перенес свое приложение 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!)
})
Я новичок в Свифте. Я был бы признателен, если бы вы предоставили мне некоторую информацию об этом типе объявления функции (функция без имени в этом объявлении).