FoolishTalk

谈谈技术,聊聊生活

iOS截图引起的思考

iOS,绘制,截图

前言 在最初写这篇的时候,并没有考虑到要写「iOS绘制方案调研」为题的一篇的文章,原来只是想记录在悦跑圈4.0开发中遇到的一个关于截图耗时特别长的一个问题,随即在写问题记录的时候,写下来的模拟demo结果却出乎意料,然后决定在以后会写一篇「iOS绘制方案调研」。 正文 在开发悦跑圈4.0版本的时候,遇到了一个很有意思的问题,需要将跑步路线的经纬度在View上绘制一段轨迹,这里的一个原来的做法...

使用Perfect部署APNS推送

Swift,Perfect-Server,APNS,iOS

前言 之前一直忙着工作的业务代码,Perfect系列的文章有段时间没有更新了。Perfect-CRUD也是最近才对外公布的一套ORM组件,支持sqlite、MySQL、Postgres,在这之前一直都是用自己的Perfect-FFDB,看了下Perfect-CRUD的文档之后,感觉还不错,这两天抽时间把之前用Perfect写的一个小项目,从自己的Perfect-FFDB迁移到使用Perfec...

RxSwift从入门到放弃——Rxswift与MVVM的邂逅

Swift,RxSwift

前言 这篇出来的比较晚,最近事情也比较多,一直没时间写,这篇是作为开篇到RxSwift源码分析的过渡。当然也是因为前几天我在公司内部分享ppt的内容也是这个就把这篇当作番外篇看看好了[doge] 这篇聊点什么? MVVM和RxSwift之间的关系 MVVM是什么? RxSwift能解决MVVM什么问题? RxSwift的看法 MVVM和RxSwift之间的关系 我们在...

RxSwift从入门到放弃——开篇

Swift,RxSwift

前言 最近正好在刚好被安排到用RxSwift开发一个小项目,借着这个机会学习了一下。在这之前也有断断续续用了几次,最后总会因为各种各样的Xcode问题弃坑,感觉能坚持下来真的是真爱啊。。主要学起来就是两个问题: Xcode的自动补全十分不友好 RxSwift学习曲线陡峭 自动补全的问题对刚入门的时候来说,真的影响很大,一开始对RxSwift的不了解,看了下网上的资料,准备大干一...

引起懒加载多次的问题思考

iOS,Swift,Tips,Lazy

懒加载是为了保证属性只会初始化一次,同时在没有使用时,节能内存而使用的。苹果也非常推荐我们使用。但是今天在使用的时候,发现居然会懒加载了2次,为了更容易让别人看懂,我精炼了以下的代码,更好解释为什么会出现懒加载2次的情况。 class BViewController: UIViewController { lazy var bgView: UIView = { ...

2018

杂谈,生活

正好今天跟前同事聊到工作的事情,前同事得到了阿里的面试,聊到还是得三年工作经验才能有BAT的面试,有感而发,想聊聊过去做了什么,未来想做什么,为后面的BAT做铺垫。 工作 在2017年的9月,从深圳来到了广州,脱离了无休止的加班,来到万表之后终于有时间做自己的事情了。 SwiftFFDB 空闲下来之后,基本全身心的放在了SwiftFFDB身上,在做SwiftFFDB的时候也暴露出...

用Swift打造一个轻量级POP的网络请求库

Swift,Tips,Alamofire

我从Objective-C转到Swift已经有好些时间了,Swift起码在iOS开发这块,开源组件已经很完善,为什么还要再造轮子呢? 目的只有一个,为了简化对业务层的操作。 事实上,在写这篇文章的时候,这个轮子已经做好了,所以来聊聊他做了什么: 在Objective-C时候我所遇到很多网络层都是这样的结构: ______________ | | | AF...

Swift高阶函数的使用

Swift,Tips

本文内容基于Swift 4 在读《Swift进阶》的时候发现,Swift提供了很多内置的高阶函数用于数组变形,使用高阶函数最大优势在于,用更少量的代码去解决问题。 map let a = [1,2,3,4,5,6] 如果要把这个数组中的元素每个都+1,按照以前的做法 var b = [Int]() for ele in a { b.append(ele+1...

AVCaptureSession自定义相机获取的UIImage旋转无效

AVFoundation,Tips

在使用AVCaptureSession自定义相机的时候,发现无论横竖拍出来,照片的方向总是不对,参考了下面的两个链接的方法依旧行不通,然后自己想了个办法去解决。 is-uiimage-imagewithciimagescaleorientation-broken-on-ios10 how-to-rotate-a-uiimage-90-degrees 通过使用重力加速计判断手机旋转的方向...

Swift-Tips String截取字符串

Swift,Tips

在Objective-C中我们可以使调substringWithRange的方法达到截取字符串的效果 [@"123" substringWithRange:NSMakeRange(1, 2)]; 在Swift 4之前,也是有类似的方法"ss".substring(with: <Range<String.Index>>) ,但是在Swift 4之后被弃用了,我们...