Utilisation du code Objective-C dans Swift

Oui. Vous pouvez.

Photo de Nikhil Mitra sur Unsplash

Objective-C a une base de code héritée massive, ce qui signifie que le langage aura une extension pendant (au moins) un bon moment encore. Cela peut signifier que vous devez intégrer du code Objective-C dans votre projet Swift, et cet article a été créé pour vous aider à le faire.

Difficulté: Débutant | Facile | Normal | Difficile

Conditions préalables:

  • Être capable de créer une application de vue unique iOS de base (Guide ICI )

Pontage: l'utilisation d'un fichier d'en-tête pour permettre l'utilisation du code Objective-C dans une base de code Swift

Objective-C: un langage orienté objet

Une démonstration dans un projet simple

Créer un projet de vue unique avec un bouton centré

Ce guide suppose que le lecteur peut créer un projet simple et, au lieu de créer une étiquette au milieu de la vue, y placer un bouton et ajouter l'action à votre contrôleur de vue.

Cependant, pour voir l'image dans une couleur autre que le bleu, le type du bouton doit être modifié en personnalisé et la couleur du texte en quelque chose de visible. Une sortie est définie, dans ce cas, j'ai appelé la sortie myButton (le tout affiché avec le GIF animé ci-dessous):

Ajouter une image simple au projet

Nous pouvons ajouter des ressources en faisant glisser et en déposant des éléments dans le projet. Vous devez faire glisser et déposer n'importe quelle image JPEG dans le projet à utiliser comme arrière-plan pour le bouton

Ajouter un TapGesture

Oui: Il existe d'autres moyens de faire en sorte qu'un bouton ait une action, mais dans ce cas, nous utiliserons un UITapGestureRecognizer qui nous permet de détecter l'utilisation du bouton:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(buttonTapped))
myButton.addGestureRecognizer(tapGesture)

@objc func buttonTapped() {
  MyObjcClass().printit("Print ME")
}

Ajouter une classe Objective-C

Nous pouvons ajouter une classe Cocoa Touch, et spécifier que nous voulons que le langage soit Objective-C.

Le processus est montré dans le GIF animé comme ci-dessous, en vous rappelant d'ajouter l'en-tête de pontage:

Ajouter la classe à l'en-tête de pontage

Nous devons ajouter notre classe à objcswift-Bridging-Header.h, et cela ajoute la ligne suivante:

#import “MyObjcClass.h”

Pas trop compliqué!

Ajout de la classe au code Objective-C

Nous devons ensuite ajouter la signature suivante à l'interface (MyObjcClass.h):

- (void) printit:(NSString *)message;

- (void) printit:(NSString *)message {
NSLog(@"%@", message);
}

Le résultat

Lorsque nous exécutons l'application, lorsque nous cliquons sur le bouton - elle s'imprime sur la console !!! Woot!

Conclusion:

Objective-Cest une excellente langue. Vous pouvez ne pas choisir de créer votre projet dans cette langue, mais vous devrez peut-être passer à Swift pour ne pas réécrire tout ce code (testé). Il est logique que le pontage entre les deux langues soit facile, et ce guide vous aide à le faire.

Élargissez vos connaissances

  • Apple a un guide sur l'importation d'Objective-C dans Swift ICI

Des questions? Vous pouvez me contacter ici

Suggested posts

Recherche d'informations sur les noms de domaine

Un extrait de Small, Sharp Software Tools par Brian P. Hogan

Recherche d'informations sur les noms de domaine

Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.

Le mot D et le mot L dans UI Design. La langue compte. Ne soyez pas raciste.

Le mot D et le mot L dans UI Design. La langue compte. Ne soyez pas raciste.

Notre langue est un outil puissant qui peut façonner nos pensées, nos attitudes et nos actions. Même des termes apparemment inoffensifs peuvent perpétuer des préjugés et des stéréotypes nuisibles.

Related posts

Le mensonge du cow-boy

Comment les mégacorporations ont vendu aux Américains un mensonge costaud

Le mensonge du cow-boy

C'est un matin brillamment doré dans les collines de l'ouest, alors que les premiers rayons du soleil illuminent l'herbe givrée des plaines. Un troupeau de bovins Angus placides, d'un noir de jais et massif, se découpe sur le lever du soleil alors qu'ils descendent un sentier battu vers un lieu qu'ils connaissent tous bien; le bar du petit-déjeuner.

L'érosion lente : dévoiler les façons dont les gens perdent leur carrière

L'érosion lente : dévoiler les façons dont les gens perdent leur carrière

Dans le monde rapide et compétitif d'aujourd'hui, la carrière d'une personne joue un rôle important dans la croissance personnelle, la stabilité financière et la satisfaction globale de la vie. Cependant, de nombreuses personnes se retrouvent prises dans un cycle incessant de stagnation et d'insatisfaction, dépérissant progressivement dans leur vie professionnelle.

Repenser les médias : les cinq vérités de McChesney et l'avenir des communications

Dans le monde hyper-connecté d'aujourd'hui, les systèmes médiatiques jouent un rôle central dans la formation de l'opinion publique et, par conséquent, dans la prise de décision démocratique. Dans son analyse approfondie de l'économie politique de la communication, le chercheur Robert McChesney remet en question la sagesse conventionnelle et présente ce qu'il appelle les « cinq vérités » sur les médias.

Réseau TV Twitter

Réseau TV Twitter

Ce qui est vieux est à nouveau nouveau et ce qui était autrefois la chose brillante et scintillante semble maintenant terne. Je ne parle pas du retour des jeans JNCO parmi les enfants cool du centre-ville avec d'autres modes de la fin des années 1990.