原文需要翻墙
传送门:原文地址
苹果在WWDC 2014上发布了全新的开发语言——Swift,这是一种替代Objective-C的全新语言,为了使开发者尽可能无缝的过渡到Swift,苹果为此做了大量工作。 它是如此的好,你可以在同一个项目中使用这两种语言。
1.打开您现有的Objective-C项目
如果你目前还没有一个项目,请随手创建一个新的项目并和我一起做。 我们在这里将其命名为“ObjectiveSpring”。
2.将.swift文件拖放到项目中
如果它要求你添加一个桥接头,除非你打算在Swift项目中来使用你的Objective-C类,否者可以点击NO了。如果你没有一个正经的Swift框架,那么滚动到底部;
小插曲
我在Xcode8中并未遇到弹窗,让添加桥接头,反而遇到一个错误,如下图:
我翻译一下这个错误:
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.
“使用旧版Swift语言版本”(SWIFT_VERSION)需要为使用Swift的目标正确配置。 使用[编辑(Edit)>转换(Convert)>到当前Swift语法...]菜单选择Swift版本或使用构建设置编辑器直接配置构建设置。
但是Xcode8支持到最新的Swift3,我使用的第三方库Spring正好是Swift3版本的。所以我并没有按照Xcode的提示去做,我的做法如下图:
注解:我将use legacy Swift Language Version(使用传统的Swift语言版本)设置成NO;然后问题解决。
如果大家在Xcode8中使用Swift2.2,可以根据Xcode的提示进行设置,如果还是不太明白怎么做,你可以看这篇文章的末尾,跟着图做,很容易的:传送门
下面继续翻译!有问题评论区一起探讨,毕竟有些东西我可能也没有遇到过!
3.在Interface Builder中使用Swift类
Xcode自动扫描您在项目中添加的所有.swift文件,因此您可以在Interface Builder中使用Swift UI组件,而无需额外的步骤。
4.在Objective-C文件(.m)中使用Swift类
如果你试图在代码中使用Swift类,你可能会注意到这样的情况。
这是因为我们实际上应该告诉Objective-C导入一个“Umbrella”头,使其可用于您的类。
#import "YourProject-Swift.h"
我又来插话了:
Tip:不是叫大家直接把上面的头文件复制了拷贝进工程!你要把YourProject换成你的工程名,加入我的工程名是ObjectiveSpring,那么我的头文件是:
#import "ObjectiveSpring-Swift.h"
还是截一张图吧!
翻译完了,我要下班了。一不小心写了两个小时~~~
over,走人!