J'essaie de mettre à jour Reachability.swift à la version 3.0 et j'ai du mal à passer l'instance d'accessibilité à la fonction de rappel.Impossible d'appeler l'initialiseur pour le type 'UnsafeMutablePointer'
Voici mon extrait: * S'il vous plaît noter auto = joignabilité classe
var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
context.info = UnsafeMutablePointer(Unmanaged.passUnretained(self).toOpaque())
Lorsque le compilateur génère une erreur en disant:
peut invoquer initialiseur pour le type 'UnsafeMutablePointer < _>' avec Liste des arguments de type '(UnsafeMutableRawPointer)'
Conversion de pointeur restreinte: utilisez '.assumingMemory' Lié (à :) 'ou ' .bindMemory (à: capacity :) 'pour afficher la mémoire en tant que type.
Surcharges pour 'UnsafeMutablePointer < _>' existent avec ces partiellement listes de paramètres correspondants: (RawPointer), (OpaquePointer), (OpaquePointer?), (UnsafeMutablePointer), (UnsafeMutablePointer?)
Ce que je comprends, j'ai besoin de convertir moi-même qui est de type open class Reachability: NSObject
à un UnsafeMutablPointer mais je ne sais pas comment procéder.
à le rappel 'func callback (accessibilité: SCNetworkReachability, drapeaux: SCNetworkReachabilityFlags, info: UnsafeMutableRawPointer?) { print (" --- callback ") garde let info = info else {retour} let reachability = Non géré .fromOpaque (info) .takeUnretainedValue() DispatchQueue.main.async { reachability.reachabilityChanged() } } ' –
https://www.dropbox.com/s/d6uc8z8kij1zmmf/Reachability%20Swift%203.zip?dl=1 –
@LeoDabus merci c'est génial! –