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
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
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):
Possiamo aggiungere risorse trascinando e rilasciando elementi nel progetto. Dovresti trascinare + rilasciare qualsiasi immagine JPEG nel progetto da utilizzare come sfondo per il pulsante
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")
}
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:
Dobbiamo aggiungere la nostra classe a objcswift-Bridging-Header.he aggiunge la seguente riga:
#import “MyObjcClass.h”
Non troppo complicato!
Dobbiamo quindi aggiungere la seguente firma all'interfaccia (MyObjcClass.h):
- (void) printit:(NSString *)message;
- (void) printit:(NSString *)message {
NSLog(@"%@", message);
}
Quando eseguiamo l'applicazione, quando facciamo clic sul pulsante, viene stampata sulla console !!! Woot!
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.
Qualsiasi domanda? Puoi metterti in contatto con me qui
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 nostra lingua è uno strumento potente che può modellare i nostri pensieri, atteggiamenti e azioni. Anche termini apparentemente innocui possono perpetuare pregiudizi e stereotipi dannosi.
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.
“Mi proteggerà quando sarò in pericolo. mi nasconderà nella sua tenda.
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.
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.