Objective-C代码可以在Class上调用Swift扩展吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (138)

我认为我不能在swift下编写扩展,并从Objective-C代码中调用它,对吧?

@objc像属性只支持方法,类,协议?

提问于
用户回答回答于

此解决方案适用于SWIFT 2.2和SWIFT 3

import UIKit

extension UIColor {

    //Custom colours
    class func otheEventColor() -> UIColor {
        return UIColor(red:0.525, green:0.49, blue:0.929, alpha:1)
    }
}
用户回答回答于

你可以编写一个Swift扩展,并在ObjectiveC代码中使用它。使用XCode 6.1.1进行测试。

你所需要做的就是:

  • 在Swift中创建你的扩展(没有@objc注释)
  • 在你的ObjectiveC类中导入“ProjectTarget-Swift.h”(其中“ProjectTarget”代表与Swift扩展关联的XCode目标)
  • 调用Swift扩展中的方法

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动