swift中copy on write的研究
本文部分相关知识参考了《Advanced Swift》以及泊学网 什么是写时复制(copy-on-write)在swift标准库中,像Array,Dictionary,Set这些结构体都实现了写时复制技术,那到底什么是写时复制呢?我们看一个例子就明白了,如下: 12var a = [1,2,3]va ...
Read more
swift中map与flatMap的用法与研究
map和flatMap是swift中两个高阶函数,用处很大,其实不仅仅是这两个函数,其他的譬如reduce,filter等等,都为我们提供了很多功能,是之前在oc里无法提供,或者需要自己去实现的。当然这些函数在其他语言里是一直存在的,譬如Haskell。所以swift是一门多编程范式的语言,这里只是 ...
Read more
NSLayoutAnchor基础知识
我相信大家一直以来都是在Interface Builder里使用AutoLayout来添加约束,或者使用第三方库Masonry等来布局。确实在iOS9之前,如果不使用Interface Builder的话,用代码添加约束,很晦涩繁琐,好在有类似Masonry这些三方库。不过在iOS9之后,Apple ...
Read more
iOS自动布局基础知识
本文参考自Apple官方文档 Apple从最开始iPhone4的绝对布局,到后面iOS设备不断增多,推出的自动布局,Apple设备布局适配也经历了一段的逐渐完善的过程。现在Apple设备上用的最多的便是AutoLayout技术,期间也有很多技术诸如size class,stack view,UILa ...
Read more
UIStackView基础知识
本文参考Apple官方文档 UIStackView是在iOS9的时候发布的一个新特性,用来将一些视图按照纵向或者横向,以流线形式布局。可以帮助开发者更好更方便的布局,很多场景都用得到。 UIStackView简介stack view可以让用户借助Auto Layout的帮助,来创建出可以动态适应设备 ...
Read more
swift中的Initialization
本文相关知识参考了Apple官方的Swift文档 Initialization也就是我们说的构造方法,class,struct,enumeration都会通过这个方法来构造一个自己的实例对象,并在这个过程中做一些必要的初始化。但是和Objective-C不一样的是,你会发现swift中的构造方法没有 ...
Read more
swift中closure捕获列表的研究
本文相关知识参考了Apple官方文档,泊学网 其实closure并不是什么新东西,如果你是从Objective-C转为swift开发的,那你可以很容易的理解它,它就相当于oc里的block,在swift里,我们称之为闭包(closure)。所谓循环引用,其实和oc一样,也就是对象之间的互相持有,造成 ...
Read more
ios中UIScrollView的基础知识
本文内容参考了Apple官方文档 无论学什么知识,我觉得最开始最重要的还是学这个东西的概念,然后再是他的用法,最后才是自己的拓展和对其思考。对于iOS知识也一样,所以我们可以通过Apple的官方文档来看看一些概念和用法。很多年以前自己初入iOS编程的时候,也是项目用到什么就学什么,可是现在我总觉得有 ...
Read more
UIScrollView中的Autolayout
UIScrollView在使用的时候,会有许多让人意想不到的地方,譬如我们今天所要讲的这个问题。在UIScrollView添加子视图,并对子视图设置约束会经常出问题,那是因为UIScrollView本身的特性造成的。因为UIScrollView本身还有一个contentSize属性,用来表示内部滚动 ...
Read more