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 un
elbabyscaledevicemodel code> à partir d'un
elperiphéralmodel code>.