J'ai un cadre intégré à ObJetive-c. Ce cadre est de se connecter et d'interagir avec un périphérique Bluetooth.
dans le code de démonstration, la fonction déléguée Objettive-C ressemble à. Le code de démonstration a été fourni par le créateur du cadre. P>
#import "ELPeripheralModel.h" NS_ASSUME_NONNULL_BEGIN @interface ELBabyScaleDeviceModel : ELPeripheralModel @end NS_ASSUME_NONNULL_END
3 Réponses :
Vous devez spécifier une matrice à NSARRAY
Ajoutez cette ligne à votre code P>
func babyScaleManagerScanDevices(_ babyScaleDevices: [ELBabyScaleDeviceModel]?) {
let devices = babyScaleDevices as NSArray
guard let device = devices.firstObject else {
print("Error unwrapping first device")
return
}
print("Device: \(String(describing: device))")
Essayez de changer à p> et d'éléments spécifiques à couler sur elbabyscaledevicemodel code>, par exemple, par exemple, dans pour code>.
Il semble que le créateur de ce cadre mettez ElperIpheralmodel dans la matrice au lieu d'Elbabyscaledevicemodel P> P>
Je pense que c'est juste la façon dont le code est ponté à Swift.
Pourriez-vous essayer de spécifier le type comme [elperipheralmodel] code>, puis le jeter? p>
De l'erreur, il semble que vous devriez avoir
FUNC BABYSCALEMANAGERSCANDÉDICES (_ Babyscaledevices: [elperipheralmodel]?) { Code>. Peut-être qu'il y a un bug dans un cadre. Essayez de le changer si votre compilateur vous laissera.Changer
Func BabyscalemanagersCandevices (_ Babyscaledevices: [elbabyscaledevicemodel]?) Code> àFunc BabyscalemanagersCandes (_ Babyscaledevices: [Elperipheralmodel]?) Code>, mais il y a clairement une erreur dans le cadre. J'espère qu'il y a un moyen rapide de créer unelbabyscaledevicemodel code> à partir d'unelperiphéralmodel code>.