[英]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.