Swift:如何从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
时被导入,如果它们返回他们所称的types
+(UIImage *) imageOrPDFNamed:(NSString *)resourceName ;
所以它可以被称为
UIImage(orPDFNamed: "abc")
2)但是,如果在类别中的类function没有返回它所调用的相同的对象types( UIImage
),在这种情况下, UIImage
就像
+(int) imageOrPDFNamedInt:(NSString *)resourceName ;
它会被称为
UIImage.imageOrPDFNamedInt("abc")
3)如果类的函数不是类函数,所以它会直接调用UIImage
实例
-(UIImage *) imagePDFNamed:(NSString *)resourceName ;
称为
UIImage().imagePDFNamed("abc")
终于有效了:
let image = UIImage(orPDFNamed:"test.pdf")