文档章节

Objective-C与Swift混编中OC对Swift类视而不见的问题

yoyoso
 yoyoso
发布于 2016/07/15 17:13
字数 355
阅读 343
收藏 0

在一个老的iOS项目中集成了Swift代码,然后在OC中调用Swift类,一直报错,针对自定义Swift类提示了"use of undeclared identifier"错误,费了老鼻子劲才解决这个问题。

刚开始一直解决不了,创建了一个Demo项目进行测试却发现没有问题,WTF!

最后的最后,发现问题居然是因为我手动创建了一个projectname-Swift.h文件,而这个文件是不应该手动创建的。但是问题是我在Xcode工程中删除了它,仍然会提示上面的错误。

根本解决办法是这样的:在Finder对应的文件夹中删除你手动创建的projectname-Swift.h文件。

再来猜测一下原因,虽然你在Xcode工程中删除了手动创建的projectname-Swift.h,但是在Xcode中可能还有它的缓存。这种情况可以用这个办法来测试一下,在使用#import "projectname-Swift.h"的地方,按住Cmd键,单击projectname-Swift.h访问projectname-Swift.h源文件,如果这个源文件的内容是空的,那么就意味着工程中还使用的是你手动创建的projectname-Swift.h文件。

很多文章说要把defines module设置为YES,但好像没有这个必要。

© 著作权归作者所有

yoyoso
粉丝 49
博文 136
码字总数 48080
作品 0
南京
高级程序员
私信 提问
Swift实际开发中遇到的小问题

从上周开始, 正式使用Swift语言进行实际项目的开发, 虽然之前Swift的语法已经了解过, 并且写过几个简单的小Demo, 但是在实际应用到了公司项目中还是遇到了一些小问题. 主要是Swift与OC语法对...

Sunxb
2016/12/02
0
0
27.Swift学习之与OC混编

在目前iOS开发语言从Objective-C到Swift的过渡时期,开发中难免会碰到两种语言同时存在的情况,如果在同一个项目中,两种语言并存,那么该项目就是一个混合项目。在混合项目中,就会存在语言...

YungFan
2018/12/12
0
0
《Using Swift with Cocoa and Objective-C》总结

互用性 1>与Objective-C API交互 1.初始化 1)在OC中,初始化往往会有init、initWith字眼,但在swif却在这里都省略了,连分配内存的alloc,swift也会自动帮我们处理。 //Objective-CUITableVi...

Ethan-GOGO
2015/10/29
114
0
Swift/Objective-C-使用Cocoapods创建/管理私有库(高级用法)

接着上篇文章"Swift/Objective-C-使用Cocoapods创建/管理私有库(初中级用法)"的探索之路。 另外两篇文章: Swift/Objective-C-使用Cocoapods创建/管理公共库 Swift/Objective-C-使用Cocoa...

sky_storming
03/26
0
0
2018-11-06 "libswiftRemoteMirror.dylib"导致iOS应用提交失败

最近提交iOS Application到Test Flight的时候遇到这个奇怪的错误: 说是应用包内多了这个"libswiftRemoteMirror.dylib"的文件,打开应用程序包后,的确发现多了很多 开头的类包: 你会看到,...

雨_树
2018/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
13
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
9
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
87
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部