RUOYE文章与笔记 返回主页

RUOYE / TOPIC

iOS.

这个主题下的文章。

01 / NOTE

iOS 嵌套滑动方案

由于工作上的需求,需要在 iOS 中做一个类似于嵌套滑动的案例,大致上就是,顶部有一个 Header,下面是一个 List,然后 Header 会随着 List 的滑动进行展开或收起。这种功能在 Android 中倒是挺常见,直接使用 Material 相关的一些组件就能完成,之前也多次使用过,但是…

阅读
02 / NOTE

OC block 变量捕获

在做 iOS 开发的时候经常会需要使用到 block,简单来说 block 就是一个匿名函数,但是相比于常规意义上的函数,它除了能执行相应的代码逻辑、传递参数之外,还有一个比较重要的特性,就是 block 会捕获变量,根据变量类型(作用域、生命周期)的不同,block 会对其有不同的捕获方式,先列总…

阅读
03 / NOTE

Objective-C 引用计数

所有代码基于 objc 818.2 说到 OC 这个语言,一般都会说,OC 是 C 的超集实现,在 C 的基础上增加了 runtime 机制,使得 OC 成为一个动态语言,同时也增加了一些语言特性,比如增加了类的概念,同时也增加了一些内存管理方面的功能。 而对于内存管理,一般就是指 OC 的对象引用…

阅读
04 / NOTE

关于 delegate 和 listener 的思考

近一段时间有做 iOS 的开发,经常会使用到 delegate,在使用的时候经常是对标 Android 中 listener 的功能,大致流程就是给宿主类设置一个 delegate,然后当宿主会要回传一些信息的时候,就调用 delegate 的方法。 举个例子: 这是一个自定义的进度条 View,它…

阅读
05 / NOTE

iOS GCD dispatch group 介绍

上次说到 GCD 中我们可以通过 GCD 提供的函数创建 block 这种方式,实现对 block 的管理,比如取消 block,比如监听 block 的执行情况,而 block 的 wait/notify 的实现就依赖于 dispatch group 这一功能,所以现在来看下 dispatch g…

阅读
06 / NOTE

iOS GCD dispatch block 介绍

上次说到 dispatch queue,一般情况下 dispatch queue 操作的对象就是 dispatch block,它的声明如下: 也就是一个没有返回值、没有参数的函数,一般情况下我们可以直接通过如下方式创建一个 block: 创建 block 不过在 libdispatch 中还提供了…

阅读
07 / NOTE

iOS GCD dispatch_queue 介绍

GCD 是 iOS 中对多线程能力的一种封装,全名称为 Grand Central Dispatch,一般情况下,我们只需要了解 GCD 的基本使用,便可以在 iOS 中进行简单高效的多线程开发。 iOS 中的多线程 与 GCD 的功能类似的,还有两个,分别是 NSThread 和 NSOperat…

阅读