0
votes

Je ne comprends pas pourquoi une fonction de délégation de l'objectif-C fonctionne et un accident de fonction de délégué rapide. Pouvez vous m'expliquer?

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


2 commentaires

De l'erreur, il semble que vous devriez avoir FUNC BABYSCALEMANAGERSCANDÉDICES (_ Babyscaledevices: [elperipheralmodel]?) {. 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]?) à Func BabyscalemanagersCandes (_ Babyscaledevices: [Elperipheralmodel]?) , 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 à partir d'un elperiphéralmodel .


3 Réponses :


0
votes

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))")


0 commentaires

0
votes

Essayez de changer xxx

à xxx

et d'éléments spécifiques à couler sur elbabyscaledevicemodel , par exemple, par exemple, dans pour . Il semble que le créateur de ce cadre mettez ElperIpheralmodel dans la matrice au lieu d'Elbabyscaledevicemodel


0 commentaires

0
votes

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] , puis le jeter? xxx


0 commentaires