Я пытаюсь преобразовать код из существующего приложения для быстрой 3 (Xcode 8.1), но я застрял на указанный ниже код дает ошибку:Swift 3 RKObjectRequestOperation возвращает ошибку не удалось преобразовать тип RKObjectRequestOperation
cannot convert value of type (RKObjectRequestOperation!, RKMappingResult!) -> Void to expected argument type (RKObjectRequestOperation?, RKMappingResult?) -> Void!)
Здесь мой код:
class func getShoppingItemsForPage(_ page: Int,pageSize: Int,
completionHandler:@escaping ([ShopItemModel]?,NSError?) ->()) {
RKObjectManager.sharedManager().getObjectsAtPath("search",
parameters: ["page" : page, "pagesize" : pageSize], success: { (request: RKObjectRequestOperation!, result: RKMappingResult!) -> Void in
let resultArray = result.array() as? [ShopItemModel]
completionHandler(resultArray,nil)
}) { (request: RKObjectRequestOperation!, error: NSError!) -> Void in
completionHandler(nil,error)
}
}
Я подозреваю, что это может быть связано с подобной ошибкой из FBSDKLoginManager, где я вижу
Cannot convert value of type (FBSDKLoginManagerLoginResult!, NSError!) -> Void to expected argument type "FBSDKLoginManagerRequestTokenHandler!"
Это код Facebook, который дает ошибку.
loginManager.logIn(withReadPermissions: facebookReadPermissions, from: self, handler: {(result:FBSDKLoginManagerLoginResult!,error:NSError!) -> Void in
if error != nil {
// Process Error
}
else if result.isCancelled {
// Cancelled by User
}
else {
let delegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
delegate.showMainStoryboard()
}
})
это может помочь https://github.com/ekreative/testbuild-rocks-ios/blob/master/AppsV2/AVRequestHelper.swift – zombie