Swift类使用两个在不同目标中具有相同名称的Objective C文件

雷纳托·斯塔弗(Renato Stauffer)

情况如下:我有两个目标(A和B),它们包含一个具有相同名称但实现不同的类(我们将这些类称为Hello.m和Hello.h)。所以:

目标A包含Hello.m和Hello.h
目标B包含Hello.m和Hello.h(具有不同属性的不同实现)

现在,我仅在目标B中有一个名为Consumer.swift的swift类。该类将需要使用目标B的Hello.m和Hello.h。以下错误:类型“ Hello”的值没有成员“ propertyOnlyAvailableInTargetB”

有谁知道我如何告诉swift类使用来自正确目标的正确类/标头?Xcode为什么要使用目标A的Hello.m和Hello.h而不是B?

我试图将“生成设置”中的“标题搜索路径”设置为项目中的特定文件夹,并将“使用标题映射”设置为false。设置此标志后,我得到错误“无法导入桥接头文件... Bridging-Header.h”,因为文件夹结构如下所示:

项目

    文件夹A
      Hello.m
      Hello.h
      Bridging-Header.h

    文件夹B
      Hello.m
      Hello.h
      Consumer.swift

任何答案将不胜感激:)谢谢!

达伦

您的文件系统层次结构和Xcode项目层次结构应如下所示:

Project
   |-- Bridging-Header.h
   |
   |-- FolderA
   |      |-- Hello.h
   |      |-- Hello.m
   |
   |-- FolderB
          |-- Hello.h
          |-- Hello.m

将文件导入到桥接头时,请指定文件夹名称:

#import "FolderB/Hello.h"

如果移动桥接头,则需要更新项目设置以指向新路径。打开构建设置,搜索“桥接”,然后更新路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用查找从两个目录中删除具有相同名称的文件

如何从两个不同的JS文件中获取具有相同名称的变量的每个值?

不同cpp文件中同一命名空间中具有相同名称的两个对象

c可以声明两个具有相同名称,返回类型但参数不同的函数

Gradle允许zip存档中两个具有相同名称的文件

同一目录中的两个具有相同名称的文件

如何在原型文件中添加两个具有相同名称的方法

将文件拆分为N个具有相同名称但目标目录不同的文件

如何在Mac OS X中使用不同的大小写创建具有相同名称的两个文件

Bash脚本,另一个目录中具有相同名称的两个文件

使用NFS挂载时,如何在目录中有两个具有相同名称的文件?

两个具有相同名称的应用程序-仅更改一个.C文件名?

为什么Visual Studio在bin文件夹中创建两个具有相同名称的DLL?

Specman为什么不能导入两个具有相同名称的文件?

PDF合并两个具有相同名称的文件

C ++在派生类和基类中使用两个相同名称的变量

名称空间菜鸟问题:共享相同名称空间的两个cpp文件具有相同的变量

在git的2个不同分支中合并2个具有相同名称的文件

使用Dockerfile中的COPY在目标目录中复制具有不同名称的文件

C ++ Koenig(依赖于参数)查找:如果不同名称空间中的两个名称空间函数具有相同的参数类型怎么办?

如何创建两个具有相同名称但一个使用大写字母而另一个使用小写字母的不同 CSV 文件

Java - 两个类,名称相同,包相同,但在不同的文件夹中

如何在1个变量下打开两个具有相同名称的文件以实现差异功能?

Vim和Windows如何在程序文件目录中看到两个具有相同名称的文件

如何使用find重命名具有相同名称的不同目录中的文件

在Tomcat 7上部署Seam项目(war文件)-Maven:两个具有相同名称的组件

将两个具有相同名称的互斥文件安装到同一目录

您是否应该能够在具有相同名称的differnet文件中声明两个私有变量?

在C ++中为在单独文件中声明和定义的两个类使用相同的名称空间