【问题标题】:#import "Project-Swift.h" File does not refresh#import "Project-Swift.h" 文件不刷新
【发布时间】:2014-10-04 07:17:34
【问题描述】:

我有一个使用 Swift 和 Objective-C 代码的项目。在我当前的项目中,如果我添加新的 Swift 模块,#import "Project-Swift.h" 文件不会刷新。

#import "Project-Swift.h" // does not refresh if I add .swift files

所以在 Objective-C 世界中,swift 代码是不可用的。文件存在,但只包含默认的#defines 等。没有项目相关的东西。

清除缓存、重建、删除派生数据无济于事。

【问题讨论】:

  • 尝试重启xcode
  • 解决了。 @objc(...) 现在是强制性的。

标签: objective-c cocoa swift xcode6 swift-playground


【解决方案1】:

解决了。忘记@objc(<class>)。这是强制性的。

详细信息(迁移)

Migrating Objective-C Code to Swift

这里(Swift 类型兼容性)

Interacting with Objective-C APIs

【讨论】:

    【解决方案2】:

    在我的情况下,它通过为我的项目中的另一个目标构建而起作用:

    • 检查你是否在你的班级前面加上了@objc
    • 选择其他方案(目标)
    • 构建 ||运行
    • 桥接文件更新
    • 将方案改回我正在处理的目标

    【讨论】:

      【解决方案3】:

      只需在要在 Object-C 代码中使用的 Swift 类之前使用 @objc,然后构建项目。 例如:

       @objc class Person : NSObject
       {
        // Swfit code goes here.
       }
      

      现在#import "Project-Swift.h" 将在您的项目中可用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-07
        • 2019-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多