自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到Jack的程序世界

做一名合格的程序员

  • 博客(9)
  • 收藏
  • 关注

原创 Swift4 - GCD的使用

从Swift3开始GCD的API就发生了很大的变化,更加简洁,使用起来更方便。像我们经常开启一个异步线程处理事情然后切回主线程刷新UI操作,这里就变的非常简单了。 DispatchQueue.global().async { // do async task DispatchQueue.main.async { // update UI } }...

2018-03-30 17:33:27 5737

原创 Runtime之objc_msgSend函数

首先了解一下什么是Runtime?Runtime顾名思义即为运行时。就是系统运行时候的一些机制,它提供了一些使得对象之间能够传递消息的重要函数,其中最主要的就是消息机制了。相较于C语言而言,C语言使用的是“静态绑定”,函数的调用在编译期就能知道运行期所需要调用的函数了,编译完成之后就按照顺序执行(面向过程就是这么任性)。在对象上调用方法是OC 中经常使用的功能,用 OC 的术语来说,叫做传递消息....

2018-03-30 08:37:45 883

原创 插入排序

插入排序插入排序(Insertion-Sort)是一种简单直观的排序算法。排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。举个例子插入排序,对于少量元素的排序,它是一个有...

2018-03-24 22:43:56 1381

原创 C语言-变量的存储类型

了解变量的存储类型变量的存储类型决定了变量什么时候被分配到指定的内存空间中,以及什么时候释放存储空间。因此,存储类型就是为变量分配使用内存空间的方式,也可以称为存储方式。变量的存储方式分为两种,即动态存储和静态存储。要理解动态存储和静态存储方式,首先要了解一下内存中用户存储空间的基本情况,系统提供给用户的存储空间可以分为3个部分,即程序区、静态存储区、动态存储区。其中程序区用来存放用户要执行的程序...

2018-03-24 10:33:46 523

原创 折半查找(binary search)

折半查找是将有序的数列不断的缩小一半,直到找到该元素或者折半区域的首元素位置高于尾元素的位置为止。即将数列按有序化(递增或递减)排序,查找过程中采用跳跃方式查找,先以有序数列的中点位置为比较对象,如果要查找的元素值小于改中点元素,则将带查序列缩小为左半部分,否则为右半部分,通过一次比较,将查找区间缩小一半,如此循环直到最后找到元素或者未找到元素。更详细解释看这里。开发思路折半查找是一种高效的查找方...

2018-03-18 10:22:37 426

原创 RxSwift - Schedulers

Scheduler简单来说Scheduler就是进程执行的上下文(也可以说程序执行的上下文)。上下文(context)可以是一个线程(thread),一个派发列队(dispatch queue),或者是用于OperationQueueScheduler中的NSOperation。这里有一个好例子说明调度者怎样被使用:由上图可知,我们可能在后台调度者中(Background Scheduler)进行...

2018-03-06 08:42:15 778

原创 UIView和CALayer的关系

UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。平时的开发中我们经常使用UIView,比如初始化一个UIView并设置它的frame、背景颜色等属性,但有时候UIView满足不了我们,比如:需要设置UIView的圆角和边框等操作,那么这个时候我们就会使用view.layer,即CALayer,那么两者之间到底有什么关系呢?1、每个UIView都对应着一个CALayer,当我们...

2018-03-05 19:09:02 1863

原创 iOS - loadView和viewDidLoad

loadView方法每一个视图控制器(UIViewController)都会生成一个loadView方法,很多情况下我们都不会使用它,因为创建一个视图控制器之后并没有该方法,而且苹果也建议不要直接调用该方法,如果需要那么就要重写loadView方法。那么该方法到底什么时候被调用?有什么作用?默认的实现是怎样的?loadView什么时候被调用每次我们访问视图控制器(UIViewController)...

2018-03-02 11:40:33 1694

原创 Swift - Static和Class

static 和 class在Swift中static和class都表示“类型范围作用域”的关键字。在所有类型中(class、static、enum)中,我们可以使用static来描述类型作用域。class是专门用于修饰class类型的。static可以修饰属性和方法class Person { // 存储属性 static let age: Int = 20 // 计算...

2018-03-01 18:59:21 5016

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除