Utilizzo del codice Objective-C in Swift

Sì. Puoi.

Foto di Nikhil Mitra su Unsplash

Objective-C ha un'enorme base di codice legacy, il che significa che il linguaggio sarà diffuso (almeno) per un bel po 'di tempo. Ciò potrebbe significare che devi integrare del codice Objective-C nel tuo progetto Swift e questo articolo è stato creato per aiutarti a fare proprio questo.

Difficoltà: Principiante | Facile | Normale | Stimolante

Prerequisiti:

  • Essere in grado di creare un'applicazione di visualizzazione singola iOS di base (Guida QUI )

Bridging: l'uso di un file di intestazione per abilitare il codice Objective-C da utilizzare in una base di codice Swift

Objective-C: un linguaggio orientato agli oggetti

Una dimostrazione in un semplice progetto

Crea un progetto a vista singola con un pulsante centrato

Questa guida presume che il lettore possa creare un progetto semplice e invece di creare un'etichetta al centro della visualizzazione, inserire un pulsante lì e aggiungere l'azione al controller della visualizzazione.

Tuttavia, per vedere l'immagine in un colore diverso dal blu, il tipo di pulsante dovrebbe essere modificato in personalizzato e il colore del testo in qualcosa di visibile. È impostato un outlet, in questo caso ho chiamato l'outlet myButton (tutto mostrato con la GIF animata sotto):

Aggiungi una semplice immagine al progetto

Possiamo aggiungere risorse trascinando e rilasciando elementi nel progetto. Dovresti trascinare + rilasciare qualsiasi immagine JPEG nel progetto da utilizzare come sfondo per il pulsante

Aggiungi un TapGesture

Sì: ci sono altri modi per fare in modo che un pulsante abbia un'azione, ma in questo caso useremo un UITapGestureRecognizer che ci permette di rilevare l'uso del pulsante:

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

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

Aggiungi una classe Objective-C

Possiamo aggiungere una classe Cocoa Touch e specificare che vogliamo che il linguaggio sia Objective-C.

Il processo è mostrato nella GIF animata come di seguito, ricordando di aggiungere l'intestazione di bridging:

Aggiungi la classe all'intestazione di bridging

Dobbiamo aggiungere la nostra classe a objcswift-Bridging-Header.he aggiunge la seguente riga:

#import “MyObjcClass.h”

Non troppo complicato!

Aggiunta della classe al codice Objective-C

Dobbiamo quindi aggiungere la seguente firma all'interfaccia (MyObjcClass.h):

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

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

Il risultato

Quando eseguiamo l'applicazione, quando facciamo clic sul pulsante, viene stampata sulla console !!! Woot!

Conclusione:

Objective-Cè un'ottima lingua. Potresti non scegliere di creare il tuo progetto in quella lingua, ma potresti dover passare a Swift per non riscrivere tutto il codice (testato). Ha senso che il collegamento tra le due lingue sia facile e questa guida ti aiuta a essere in grado di farlo.

Amplia le tue conoscenze

  • Apple ha una guida sull'importazione di Objective-C in Swift QUI

Qualsiasi domanda? Puoi metterti in contatto con me qui

Suggested posts

Ricerca di informazioni sui nomi di dominio

Un estratto da Small, Sharp Software Tools di Brian P. Hogan

Ricerca di informazioni sui nomi di dominio

Quando fai una richiesta a facebook.com, il tuo computer cerca il nome di dominio per tradurre quel nome di dominio in un indirizzo IP in modo che il tuo computer possa effettuare quella connessione.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La nostra lingua è uno strumento potente che può modellare i nostri pensieri, atteggiamenti e azioni. Anche termini apparentemente innocui possono perpetuare pregiudizi e stereotipi dannosi.

Related posts

"La fossa delle Marianne svelata: svelare le terrificanti verità nascoste dell'abisso"

"La fossa delle Marianne svelata: svelare le terrificanti verità nascoste dell'abisso"

Introduzione:Benvenuti, coraggiosi lettori, in un viaggio che ci porterà nelle profondità più oscure del nostro pianeta. In questo blog, ci addentriamo nel mondo enigmatico della Fossa delle Marianne, scoprendo i suoi segreti nascosti e scoprendo le verità agghiaccianti che giacciono sotto la sua superficie.

Creazione di un ambiente di lavoro sicuro

Creazione di un ambiente di lavoro sicuro

“Mi proteggerà quando sarò in pericolo. mi nasconderà nella sua tenda.

L'arte è sempre apolitica?

L'arte è sempre apolitica?

Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.

VITA SENZA LIMITI

Quando cresci tendi a sentirti dire che il mondo è così com'è e che la tua vita è vivere la tua vita dentro il mondo, senza mai rischiare la vita, basta seguire un percorso prestabilito e morire alla fine, e cercare di non farlo sfondare troppo i muri. Ma questa è una vita molto limitata.