Objective c 我可以在Objective C项目中使用swift代码块或文件/类吗
在标记此副本之前,请注意,我已经研究了此问题 但这是关于导入一个库 我想知道我是否能在objective C项目中编写swift的代码块。或者在同一项目中添加新文件/类,而不是创建单独的swift库,然后导入库 例如,我们可以在.mm文件中编写目标C中的C代码,是否有类似的方法将swift代码合并到目标C代码中 是否有类似的方法将swift代码合并到目标C代码中 不,它们是两种不同的语言,必须进入两个不同的文件。文件后缀告诉编译器要使用哪种语言 它在mm文件中适用于Objective-C的原因是Objective-C++是Objective-C的超集,而Objective-C本身就是C的超集;从Objective-C++的角度来看,它们都是相同的语言。但是Swift和Objective-C在任何意义上都不是同一种语言 或者在同一项目中添加新文件/类,而不是创建单独的swift库,然后导入库 当然可以。同一目标可以同时包含Objective-C和Swift文件。他们不能生活在同一个文件中 我想知道我是否能在objective C项目中编写swift的代码块 不,您不能像使用C一样在Objective-C源文件中编写Swift代码 或者在同一项目中添加新文件/类 是的,绝对是。这是有案可查的 我想知道我是否能在objective C项目中编写swift的代码块 不,那是不可能的。mm文件不是Objective-C,而是Objective-C++文件,它是objc语言的超集 或者在同一项目中添加新文件/类 这是可以做到的,你需要做的就是在.m文件中导入具有你想要的函数的Swift类。要导入,您需要一个文件名结构,例如Objective c 我可以在Objective C项目中使用swift代码块或文件/类吗,objective-c,swift,xcode,Objective C,Swift,Xcode,在标记此副本之前,请注意,我已经研究了此问题 但这是关于导入一个库 我想知道我是否能在objective C项目中编写swift的代码块。或者在同一项目中添加新文件/类,而不是创建单独的swift库,然后导入库 例如,我们可以在.mm文件中编写目标C中的C代码,是否有类似的方法将swift代码合并到目标C代码中 是否有类似的方法将swift代码合并到目标C代码中 不,它们是两种不同的语言,必须进入两个不同的文件。文件后缀告诉编译器要使用哪种语言 它在mm文件中适用于Objective-C的原因是
#import“MySwiftClassName Swift.h”
。将.m中的函数作为任何objc编写的函数调用。
唯一需要注意的是功能的可见性(只有当您还有objective-c桥接头时,才能访问专用swift功能,默认情况下,开放和公共swift功能可用) 同样,您不能将Objective-C放入.C文件中。对于超集语言来说,它只能以另一种方式工作,因为作为超集,它们是同一种语言。