Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(二)

九路 等级 422 0 0

上篇在介绍了Swift与OC混编开发所需要准备的一些必要条件 Swift-Objective-C混编注意事项,今天只说一下我在实际项目中所踩过的坑,希望你们以后绕过这些坑吧。

###1、 使用cocopods管理Swift文件所遇到的问题:

我们在开发的过程中,各种优秀的框架帮我们快速的解决了各种疑难杂症,可能我们在之前的OC开发中已经习惯了使用这些框架去开发,但是本人还是建议自己可以去研究研究优秀框架的实现思路,提高自己,不至于被淘汰。

因为我们公司之前的项目都是用纯OC写的,现在有了新的需求,老大要求我们接触Swift,慢慢转纯Swift,令下了,我们不执行又能咋滴!本来以为使用cocopods引入Swift框架跟oc一样,直接写入Podfile文件里面就行了,谁曾想踩坑开始了....

一开始直接在Podfile里面引入Snapkit框架 Snapkit地址以及介绍 Snapkit框架是一个跟Masonry一样作用的框架都是用来设置约束的框架,对我们来说用起来很方便,这里不做过多介绍,我按照原来OC的思路去引入Snapkit框架,如图:

Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(二)

后面就是保存+pod install,本来以为皆大欢喜,打开工程编译各种报错,竟然会提示之前引入的第三方文件找不到

Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(二)

图片

但是这个不可能的啊,我之前还用着好好的,想了一会,感觉根源还是在Snapkit上,所以果断删掉,重新编译,没问题了;这个时候我想到了Swift的文件和OC文件在Xcode中位置编译的位置不一样,后来也试了很多,网上各种找,在各种尝试中后来在引入头文件的地方修改以后就可以了

Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(二)

图片

使用<>导入的是类库,使用双引号引入的是类名,在混编中可能是Swift文件编译地址的变化所以引起了有些类库找不到的原因,具体的什么原因我还没找到,希望有哪位大神了解的可以联系一下。当然还有其他的解决办法,那就是用Carthage来引入Snapkit框架。

对于其他的Swift库文件使用cocopods一般都是可以的,同时也推荐使用Carthage这个软件也是管理第三方的工具,优缺点很明显,网上都有介绍,这里不做过多的陈述,个人认为,Carthage对于一些不用修改的库文件用起来是很方便的,如果那些库不需要你去做任何的修改;但是对于有的优秀的第三方并不能完全的满足你的需求,你需要做一些调整的话,这个时候使用Carthage就不如cocopods了,视情况而定,根据自己需求吧。

###2、宏文件公共文件的建立

大家接触过Swift的都知道,Swift里面没有宏定义,所以也就没有pch文件,这个时候我们可以单独的创建一个空的Swift文件,在里面定义一些常用的变量和属性,以及设置;对于一些类的扩展,类里面的方法定义个人建议写在扩展里面,这样更有层次感,看起来也比较容易理解,对于比较大的项目,一个文件里面代码很多的话阅读起来比较方便。

写的都是自己遇到的一些问题,有什么表述不对的地方,还希望各位给与指正,同时也希望这篇文章可以解决你的问题。

收藏
评论区

相关推荐

Swift 简介
Swift和ObjectiveC的主要区别 1,编程范式 Swift可以面向协议编程、函数式编程、面向对象编程。 Swift语言引入了协议、协议的扩展、泛型等新特性,因此使用Swift语言可以很好地面向协议编程;Swift语言将函数和闭包提升为语言的一等公民,函数可以作为一个变量、可以作为其他函数的参数、作为其他函数的返回值等来传递,所以
Swift 常见面试题解
基础 1、class 和 struct 的区别 2、不通过继承,代码复用(共享)的方式有哪些 3、Set 独有的方法有哪些? 4、实现一个 min 函数,返回两个元素较小的元素 5、map、filter、reduce 的作用 6、map 与 flatmap 的区别 7、什么是 copy on write 8、如何获取当前代码的函
Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(一)
前言: 最近一段时间比较忙,公司项目比较多,直到现在年后过来以 后总结一下之前项目中遇到的问题,以及自己使用Swift开发所遇到的坑。现在大家都知道Swift已经渐渐趋于完善,以后很有可能会替代ObjectC成为主流的iOS开发语言,所以各位以后还想从事iOS开发的程序猿(媛)们,早作准备吧! 今天我们主要说一下ObjectiveC和Swift混编
Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(一)
前言: 最近一段时间比较忙,公司项目比较多,直到现在年后过来以 后总结一下之前项目中遇到的问题,以及自己使用Swift开发所遇到的坑。现在大家都知道Swift已经渐渐趋于完善,以后很有可能会替代ObjectC成为主流的iOS开发语言,所以各位以后还想从事iOS开发的程序猿(媛)们,早作准备吧! 今天我们主要说一下ObjectiveC和Swift混编
Swift开发-OC与Swift混编以及纯Swift编码所遇到的问题(二)
上篇在介绍了Swift与OC混编开发所需要准备的一些必要条件 SwiftObjectiveC混编注意事项(https://www.jianshu.com/p/52ab6a316cbe),今天只说一下我在实际项目中所踩过的坑,希望你们以后绕过这些坑吧。 1、 使用cocopods管理Swift文件所遇到的问题: 我们在开发的过程中,各种优秀的框架
iOS 11更新后以及iPhone X推出后工程中遇到的问题及适配
1.UITableView滑动时右侧的滑动条忽长忽短的乱跳以及MJRefresh上拉刷新死循环 这是因为tableView在iOS11默认使用SelfSizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三个高度估算属性由默
iOS 图片和文字一起上传
最近在忙着开发公司的一个项目,中间遇到很多坑,对于图片的上传在这里我也不做太多的介绍,网上各种大神的资料都有的,今天我主要说一下我再上传图片和文字的时候遇到的一些坑(图文上传我们很多时候都会遇到,遇到多了网上找的各种博客,解决了图文一起上传的问题)废话不多说,直接上代码: / 上传图文 / (void)upLoadImageViewToS
Swift版UITextView自定义占位词,最大长度
最近这段时间在搞一个Swift的项目,算是帮朋友做的吧,虽然有点累但是自己也是从中学到了很多东西,其中自己也封装了一些常用的控件,最近忙完公司的项目以后就整理一下自己的心得。。希望大家一起学习! 最近项目需要,很多的地方都用到了UITextView来实现一些需求,需要设置占位词和最大的长度,这里我是简单的封装了一下,希望大家多多指正,话不多说,上代码:
swift学习笔记-OC与swift区别,从OC到swift你可以看看这个
创建对象 OC:alloc initWith Swift:(XXX:) 调用方法 OC:uicolor redcolor Swift:uicolor.redcolor() 枚举 OC:UIButtonTypeContactAdd Swift:UIButtonType.ContactAdd 输出 OC:NSLog(@"Hello
Swift与Objective-C混合编程之Swift与Objective-C API映射
原创文章,欢迎转载。转载请注明:关东升的博客 Swift与ObjectiveC API映射 在混合编程过程中Swift与ObjectiveC调用是双向的,由于不同语言对于相同API的表述是不同的,他们之间是有某种映射规律的,这种API映射规律主要体现在构造函数和方法两个方面。 1、构造函数映射 在Swift与ObjectiveC语言进行混合
【Swift】Swift 2.0 到 Swift 3.0
问: 报错:The “Swift Language Version” (SWIFT\_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor
Swift - Music 程序分析
本文主要分享下楼主在学习Swift编程过程中,对GitHub上的一个开源App Swift Music的研究心得。 (https://imghelloworld.osscnbeijing.aliyuncs.com/a47a2684664
Swift 简介
1.Swift 开发快速体验 1.1 目标 playground 快速体验 & 学习资源分享 项目开发快速体验,了解 Swift 基本程序结构 1.2 学习资源 苹果官方博客 https://developer.apple
swift - Alamofire 4.0
  在这前,已经介绍并学习过AFNetworking(http://www.cnblogs.com/chenxianming/p/5674652.html)源码了,现在通过阅读学习Alamofire最新源码同时,学习swift 3.0这门语言,虽然
APP 开发技术该如何选型 ?
目前 按照 APP 开发分类,分为以下三大类 原生 APP  \[ Android Swift  \] WEB APP Hybrid App \[混合 APP  \] 在找工作的当中,很多岗位 要求 会开发 H5 App ,那到底什么是H5 APP 呢?一开始我也有点疑惑,没接触这块,按自己理解 就是 采用 HTML5 技术