簡體   English   中英

Swift:如何從Objective-C調用類或類方法

[英]Swift: How to call a category or class method from Objective-C

我在UIImage上有一個用Objective-C編寫的類別。 以下是一些示例方法。 如何在Swift中調用這些方法?

+(UIImage *) imageOrPDFNamed:(NSString *)resourceName; 
+(UIImage *) imageWithPDFNamed:(NSString *)resourceName;

我嘗試了以下內容並且無法識別方法:

let image = UIImage(imageOrPDFNamed:"test.pdf")
let image = UIImage(PDFNamed:"test.pdf")

類別函數和調用約定有各種各樣的情況。

1)在swift類中,如果類別函數返回它們所謂的相同類型,則可以導入類別中的函數作為convenience initializes

 +(UIImage *) imageOrPDFNamed:(NSString *)resourceName ;

所以它可以被稱為

    UIImage(orPDFNamed: "abc")

2)但是如果類別中的類函數沒有返回它調用的相同對象類型( UIImage ),在這種情況下UIImage就像

   +(int) imageOrPDFNamedInt:(NSString *)resourceName ;

它會被稱為

    UIImage.imageOrPDFNamedInt("abc")

3)如果categories函數不是類函數,那么它將直接調用UIImage實例

   -(UIImage *) imagePDFNamed:(NSString *)resourceName ;

叫做

    UIImage().imagePDFNamed("abc")

這最終起作用了:

let image = UIImage(orPDFNamed:"test.pdf")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM