如何在Swift中使用Objective-C定义的ISBannerSize_SMART常量?
Swift中使用IronSource SMART横幅尺寸的解决方法
Objective-C中的ISBannerSize_SMART是通过#define定义的宏,而非静态常量,Swift不会自动导入这类用于创建对象的宏,所以直接引用ISBannerSize_SMART或ISBannerSize.ISBannerSize_SMART都会无效。
你可以按照原宏的实现逻辑,在Swift中手动创建对应的ISBannerSize实例:
// 直接创建实例使用 let smartBanner = ISBannerSize(description: "SMART", width: 0, height: 0) IronSource.loadBanner(with: self, size: smartBanner)
如果需要复用,建议封装成扩展的静态属性,更符合Swift的写法:
extension ISBannerSize { static let smart = ISBannerSize(description: "SMART", width: 0, height: 0) } // 调用时更简洁 IronSource.loadBanner(with: self, size: .smart)
内容的提问来源于stack exchange,提问作者S. Gissel
相关产品推荐
相关产品推荐

