Genel olmayan iOS işlevlerini nasıl arayabilirim? Özellikle, QuartzCore çerçevesinde herkese açık olmayan bir sınıf kullanmak istiyorum.Swift'de iOS özel API'lerine nasıl erişilir?
Aklıma gelen bir çözüm, bu genel-olmayan API'leri kamuya açık hale getirecek ve bu Objective-C işlevlerini Swift'den çağırmak yerine "köprüleme" Objective-C projesi oluşturmaktır. Ancak, çözümüm şimdi Swift Swift ve ben de bu şekilde kalmayı tercih ederim. Daha staitforward yolu var mı? (örneğin, bir şey eklemek Objective-C bridging header file)
Not: Ne düşündüğünüzü biliyorum, özel API'ler kullanılmaması gerektiğinden özeldir. Ben riskleri biliyorum, tüm donwsides, app mağaza kısıtlamaları vb. Farkındayım. Tüm dikkatle göz önüne alındıktan sonra ve çok araştırma yapıldıktan sonra, bu özel durumda hala gitmek için en iyi yol unfortunatelly görünüyor.
bir köprü başlığına özel yöntemlerin düzgün beyanı eklerseniz dosya, sanki bir kategorideymiş gibi (adlandırılmış, 'PrivateButImmaUseTheseAnyway'), işe yarıyor mu? –
@TheParamagneticCroissant Ne demek istediğimi anladığımdan emin değilim. Sadece başlık dosyasında köprüleme yöntemini bildirmenin mümkün olup olmadığını bilmiyordum. Tüm özel sınıfı ilan etmeye çalıştım - sınıfın var olmadığını söyleyen bir derleme hatası aldım ama belki doğru şekilde yapmadım. – drasto
Yani, özel bir sınıfı şu şekilde bir kategori ile birlikte ilan edersiniz: @ @ viewview NSPrivateClass (PrivateStuff) ', ve özel yöntemlerin bildirimini oraya ekleyin. –