Hedef-c kitaplığımda Swift'e dönüşten sonra, aynı yöntem imzasına sahip iki yöntemim var. Objective-C Bunlar şunlardır: Objective-C NSErrors + BOOL dönüş değerlerini kullanarak yöntemlerin yaklaşık Swift dönüşüm okuduğum kadarıylaObjective-C yöntem imzaları, Swift dönüşümden sonra aynıdır
- (void)doSomething:(UIViewController *)viewController __attribute__((deprecated));
- (BOOL)doSomething:(UIViewController *)viewController error:(NSError **)error;
, bu yöntemler aşağıdaki Swift Yöntemi İmzalar sahip sona erecek: ilk arama aslında Objective-C önerilmiyor yana
func doSomething(viewController: UIViewController)
func doSomething(viewController: UIViewController) throws
, ikinci imzayı (I atılan hataların yararlanabilir sağlamak) kullanmak için bu yönteme yapılan çağrılar zorlamak için bir yol var?
aşağıdaki şekilde yöntemini çağırmak çalışıyorum:
do {
try myObjectInstance.doSomething(self)
} catch let error as NSError {
print(error)
}
Bu yaklaşım) yöntemi kaldırılmış olduğunu bana bir uyarı veriyor ilk açıklamada, varsayılan olarak görünüyor
ve b) Yakalanacak hiçbir şey yok çünkü hiçbir hata atılmıyor.
Ah, kütüphane güncelleme talihsiz olurdu. Bu, hiç yoktan daha iyi bir çözüm dedi! Teşekkürler!! – Maixy
Muhtemelen, Swift hedefi içinde yer alan ayrı bir Obj-C yöntemini (bir kategoride veya bir şeyde), yalnızca birlikte çalışma konusunda yardımcı olmak için kullanabilir ve uygun olanı çağırırsınız. – jtbandes