ios - {Module_name}-Swift.h 文件与 Swift 3.2 不同,仅在 Swift 4 项目中无法正常工作

标签 ios objective-c swift mobile migration

有人在 Swift 4 项目的 {Module_name}-Swift.h 文件中遇到过问题吗?我注意到 -Swift.h 自动生成的文件不能很好地与 Swift 4 语法一起使用,这与 Swift 3.2 不同!

例如,-Swift.h 文件不包含在继承自 NSObject 类的自定义 Swift 类中实现的所有变量和方法!

我用过 @objc@class 关键字,但没有办法。

  • 我没有收到任何错误!问题是如果我创建了这样一个类:
import Foundation
class Utils: NSObject {
    let abc: String?
    func xyz() { 
        print("")
    }
}

然后导航到 {Module_name}-Swift.h 我看到了类似的东西:

SWIFT_CLASS("_TtC3{Module_name}5Utils") 
@interface Utils : NSObject 
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; 
@end

问题

let abc: String?func xyz() 都从未包含在 {Modue_name}-Swift.h 文件中!

最佳答案

我认为在 Swift 4 中你必须标记更多的东西 @objc(不再隐含)但除此之外它应该就在那里。

关于ios - {Module_name}-Swift.h 文件与 Swift 3.2 不同,仅在 Swift 4 项目中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49513048/

相关文章:

ios - 无法看到位置 : [CLLocation]

iphone - iOS:如何在 iPhone 上触发用户强制退出崩溃?

ios - 我需要 View 还是 ViewController?

ios - 取消按钮在 UIImagePickerView 中不起作用

iphone - NSObject类中是否需要写init方法

ios - 从另一个 NSDictionary 中提取一个 NSDictionary

ios - 如何对 subview 进行动画处理,使其仅在框架范围内进行动画处理?

ios - 显示和隐藏 UIButton

ios - 如何将现有的 podfile 设置为兼容 CocoaPods 版本 0.39.x 和 1.0.0?

swift - Firebase swift - 如何根据特定唯一键列表打印出值(存储在数组中的唯一键)