Objective-C'nin devasa bir eski kod tabanı vardır, bu da dilin (en azından) bir süreliğine yaygın olacağı anlamına gelir. Bu, bazı Objective-C kodunu Swift projenize entegre etmeniz gerektiği anlamına gelebilir ve bu makale tam da bunu yapmanıza yardımcı olmak için oluşturulmuştur.
Zorluk: Başlangıç | Kolay | Normal | Zorlayıcı
Köprüleme: Objective-C kodunun bir Swift kod tabanında kullanılmasını sağlamak için bir başlık dosyasının kullanılması
Objective-C: Nesneye Yönelik Dil
Bu kılavuz, okuyucunun basit bir proje oluşturabileceğini varsayar ve görünümün ortasına bir etiket oluşturmak yerine oraya bir düğme koyun ve eylemi görünüm denetleyicinize ekleyin.
Ancak, görüntüyü mavi dışında herhangi bir renkte görmek için düğmenin türünün özel olarak değiştirilmesi ve metin renginin görünür bir şeye dönüştürülmesi gerekir. Bir priz ayarlandı, bu durumda çıkışa myButton adını verdim (tümü aşağıdaki animasyonlu GIF ile gösterilmiştir):
Öğeleri projeye sürükleyip bırakarak kaynak ekleyebiliriz. Düğme için arka plan olarak kullanmak için herhangi bir JPEG görüntüsünü projeye sürükleyip bırakmalısınız.
Evet: Bir düğmenin bir eylemi olmasını sağlamanın başka yolları da vardır, ancak bu durumda , düğmenin kullanımını algılamamıza izin veren bir UITapGestureRecognizer kullanacağız:
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(buttonTapped))
myButton.addGestureRecognizer(tapGesture)
@objc func buttonTapped() {
MyObjcClass().printit("Print ME")
}
Bir Cocoa Touch sınıfı ekleyebilir ve dilin Objective-C olmasını istediğimizi belirtebiliriz.
İşlem, köprüleme başlığını eklemeyi hatırlayarak aşağıdaki gibi animasyonlu GIF'de gösterilmektedir:
Sınıfımızı eklememiz gerekiyor objcswift-Bridging-Header.hve şu satırı ekliyor:
#import “MyObjcClass.h”
Çok zor değil!
Daha sonra arayüze (MyObjcClass.h) aşağıdaki imzayı eklememiz gerekir:
- (void) printit:(NSString *)message;
- (void) printit:(NSString *)message {
NSLog(@"%@", message);
}
Uygulamayı çalıştırdığımızda, düğmeye tıkladığımızda - konsola yazdırır !!! Vay be!
Objective-Charika bir dil. Projenizi o dilde oluşturmayı seçmeyebilirsiniz, ancak (test edilen) kodun tamamını yeniden yazmamak için Swift'e köprü yapmanız gerekebilir. İki dil arasında köprü kurmanın kolay olduğu anlaşılıyor ve bu kılavuz tam da bunu yapmanıza yardımcı oluyor.
Sorusu olan? Benimle buradan iletişime geçebilirsin
facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.
Dilimiz, düşüncelerimizi, tutumlarımızı ve eylemlerimizi şekillendirebilen güçlü bir araçtır. Görünüşte zararsız terimler bile zararlı önyargıları ve klişeleri devam ettirebilir.
Bu gezegende gelişmeye devam etmek istiyorsak, tehlikeli konuşmalar yapmak zorunda kalacağız. Yaptıklarımıza, yaptıklarımıza ve şu anda yapmaya devam etmeye hazır olduğumuz (veya yapmayı planladığımız) şeylere meydan okuyanlar.
Çoğu zaman olduğu gibi birdenbire gözüme çarpıyor Her şey yeniden yarı yolda <Hayır, Pasifik'te kesip attığınız değil, karnavalda olan> Her manşet yüksek sesle… ..
Tek başınıza yapmaya çalışırsanız, yeni bir kariyere geçmek son derece zor olabilir. Sizinle aynı öğrenme düzeyinde olan, benzer hedefleri, kararlılığı ve güdüyü paylaşan sorumlu ortaklar bulmak önemlidir.
Giriş: Cesur okuyucular, bizi gezegenimizin en karanlık derinliklerine götürecek bir yolculuğa hoş geldiniz. Bu blogda, Mariana Çukuru'nun esrarengiz dünyasına dalıyor, onun gizli sırlarını açığa çıkarıyor ve yüzeyinin altında yatan tüyler ürpertici gerçekleri ortaya çıkarıyoruz.