gpt4 book ai didi

ios - Swift:如何从 Objective-C 调用类别或类方法

转载 作者:搜寻专家 更新时间:2023-10-31 08:12:26 25 4
gpt4 key购买 nike

我在 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 类中,类中的函数可以作为便利初始化导入,如果它们返回与它们调用时相同的类型

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

所以可以这样称呼

    UIImage(orPDFNamed: "abc")

2) 但是,如果类别中的类函数没有返回相同的对象类型 (UIImage),在这种情况下它调用 UIImage 就像

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

它将调用为

    UIImage.imageOrPDFNamedInt("abc")

3)如果类别函数不是类函数,那么它会直接在 UIImage 的实例上调用

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

称为

    UIImage().imagePDFNamed("abc")

关于ios - Swift:如何从 Objective-C 调用类别或类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com