我试图将一些类别方法导入到我的Swift文件中而没有任何运气。
IOS-桥接-Header.h:
#import "UIColor+Hex.h"
的UIColor + Hex.h
#import <UIKit/UIKit.h>
@interface UIColor (Hex)
+ (UIColor *)colorWithHex:(NSUInteger)hexInt;
+ (UIColor *)colorWithHexString:(NSString *)hexString;
@end
我希望自动填充能够显示UIColor(hexInt: NSUInteger)
和UIColor(hexString: String)
答案 0 :(得分:32)
实际上,您的类别已转换为Swift,如下所示:
extension UIColor {
init(hex hexInt: Int) -> UIColor
init(hexString: String) -> UIColor
}
因此,你应该使用:
let color = UIColor(hex: 0xffffff) // instead of hexInt:
let color = UIColor(hexString: "ffffff")
尽管在测试版软件中,自动完成可能仍然存在问题。
答案 1 :(得分:24)
您可以直接在Swift中使用Objective-C类别。这对于某些桥接类(如String)非常有趣。使用Objective-C中的类别扩展NSString,然后您可以从Swift访问它(直接在String上!)
这样做的方法是在Swift项目中创建一个“桥接头”。
完整说明here。
缺点是:
#import
语句的.h头文件(在Objective-C中)Objective-C Bridging Header
中