2016年7月8日

Monad / Functor / Applicative 浅析

摘要: 前言 Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性。这也使得我们学习掌握这门语言变得相对来说更加困难。不过一切都是值得的,Swift 相比 Objective-C,写出来的程序更安全、更简洁,最终能 阅读全文

posted @ 2016-07-08 16:37 Jenaral 阅读(774) 评论(0) 推荐(0)

map & flatMap 浅析

摘要: 我之前一直以为我是懂 map 和 flatMap 的。但是直到我看到别人说:「一个实现了 flatMap 方法的类型其实就是 monad。」我又发现这个熟悉的东西变得陌生起来,本节烧脑体操打算更细致一些介绍 map 和 flatMap,为了下一节介绍 monad 做铺垫。 准备运动:基础知识 数组中 阅读全文

posted @ 2016-07-08 16:21 Jenaral 阅读(31355) 评论(1) 推荐(1)

Swift -> Let & Var 背后编程模式 探讨

摘要: 简介 Swift中有两种声明“变量”的方式,这两种方式分别使用let和var这两个关键字。这应该是借鉴了Scala,因为它们和Scala的val和var有相同的作用。let被用于声明不变量,var被用于声明变量。不变量的值一旦被定义就不能再改变,变量则可以在声明之后被随意赋值。 在其它一些如Java 阅读全文

posted @ 2016-07-08 15:55 Jenaral 阅读(382) 评论(0) 推荐(0)

Swift -> Optional嵌套 探讨

摘要: 准备运动:Optional 的介绍 王巍的《Swifter》一书中,介绍了一个有用的命令:在 LLDB 中输入 fr v -R foo,可以查看foo 这个变量的内存构成。我们稍后的分析将用到这个命令。 在 Swift 的世界里,一切皆对象,包括 Int Float 这些基本数据类型,所以我们可以这 阅读全文

posted @ 2016-07-08 15:50 Jenaral 阅读(540) 评论(0) 推荐(0)

Swift -> RunTime(动态性) 问题 浅析

摘要: Swift是苹果2014年发布的编程开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。Swift已经开源,目前最新版本为2.2。我们知道Objective-C是具有动态性的,能够通过runtime API调用和替换任意方法,那Swift也具有这些 阅读全文

posted @ 2016-07-08 15:16 Jenaral 阅读(527) 评论(0) 推荐(0)

Swift & OC 混编 浅析

摘要: 转载自:http://www.infoq.com/cn/articles/wangyi-cartoon-swift-mixed-practice?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_conten 阅读全文

posted @ 2016-07-08 15:05 Jenaral 阅读(2062) 评论(0) 推荐(0)

Swift 响应式编程 浅析

摘要: 这里我讲一下响应式编程(Reactive Programming)是如何将异步编程推到一个全新高度的。 异步编程真的很难 大多数有关响应式编程的演讲和文章都是在展示Reactive框架如何好如何惊人,给出一些在非常复杂的情况下,只需几行代码就可以搞定的例子。例子么?我这里有一段基于RxSwift的聊 阅读全文

posted @ 2016-07-08 14:38 Jenaral 阅读(572) 评论(0) 推荐(0)

内存管理 & 内存优化技巧 浅析

摘要: 内存管理 浅析 下列行为都会增加一个app的内存占用: 1、创建一个OC对象; 2、定义一个变量; 3、调用一个函数或者方法。 如果app占用内存过大,系统可能会强制关闭app,造成闪退现象,影响用户体验。如何让回收那些不再使用的对象呢?本文着重介绍OC中的内存管理。 所谓内存管理,就是对内存进行管 阅读全文

posted @ 2016-07-08 09:36 Jenaral 阅读(1007) 评论(0) 推荐(0)

导航