在Objective-C类中无法达到Swift类?

时间:2019-07-18 07:46:18

标签: ios objective-c swift xcode

我有一个用Swift编写的模型类和一个用Objective-C编写的后端服务控制器。

假设文件名为SomeModel.swift和SomeRequestController.m及其标题。

我不想在头文件中导入ProjectName-Swift.h。所以我在头文件中使用了前向声明。我在ProjectName-Swift.h文件中导入了SomeRequestController.m

Swift文件如下所示:

import Foundation

@objc class SomeModel: NSObject {

    @objc var prop1: String?
    @objc var prop2: String?
    @objc var prop3: String?

}

在代码的其他部分,我可以在Objective-C中达到这个模型类。前向声明使您能够在代码内部创建一个对象。因此,Xcode找到了该类。但是,当我编译时,它失败并显示以下消息:

  

在类型为“ __strong id”的对象上找不到属性“ prop1”

如何在不更改导入机制的情况下解决此问题?

1 个答案:

答案 0 :(得分:0)

我已经解决了问题。在这里,我想为将来可能遇到这种问题的人介绍这种特殊情况。

objective-c文件属于两个项目的目标成员。 Swift文件是其中之一的目标成员身份。我已将此Swift文件分配给第二个项目。现在可以编译。