导读:你想知道Swift内部对象是如何创建的吗?方法以及函数调用又是如何实现的吗?成员变量的访问以及对象内存布局又是怎样的吗?这些问题都会在这篇文章中得到解答。为了更好的让大...
导读:你想知道Swift内部对象是如何创建的吗?方法以及函数调用又是如何实现的吗?成员变量的访问以及对象内存布局又是怎样的吗?这些问题都会在这篇文章中得到解答。为了更好的让大...
级别: ★☆☆☆☆标签:「iOS」「Swift 5.1 」「泛型」作者: 沐灵洛审校: QiShare团队 使用泛型能让我们写出灵活的,可复用的函数和类型,这些函数和类型会根...
App Extension App Extension是从iOS8开始引入的一种应用服务和交互方式。App Extension需要依赖于容器应用(Containing App...
RxCocoa(scrollView.rx.didScroll) 得益于RxCocoa对UIKit做了extension,我们使用UI组件的Rx封装时只需要调用rx属性,就可...
响应式编程&链式编程 公司的几个共享项目, 有较多后台定时的网络请求,定位和蓝牙操作的组合. 原方案是通过闭包嵌套起来, 如此一来有些比较头疼的问题: 闭包回调地狱, 每个组...
本文转自:Swift 编码风格指南 | www.samirchen.com 背景 本文主要是对以下几个编码规范的整理: The Official raywenderlich....
一、了解present和dismiss 一个iOS开发,这个控制器的打开和关闭,应该是接触UIKit所接触的第一个关于UIViewController的API,然而,你真的了...
引子 公元2016年末,2017年初,某做旅行产品的互联网公司内,产品经理疯狂的提 A/BTest 需求,以至于该司程序猿谈AB色变,邪恶的产品经理令程序猿们闻风丧胆,苦不堪...
方法调用的本质 本文我们探寻方法调用的本质,首先通过一段代码,将方法调用代码转为c++代码查看方法调用的本质是什么样的。xcrun -sdk iphoneos clang -...
super的本质 首先来看一道面试题。下列代码中Person继承自NSObject,Student继承自Person,写出下列代码输出内容。 直接来看一下打印内容 上述代码中...
背景 将TCP与UDP这样的简单传输协议区分开来的是它传输数据的质量。TCP对于发送数据进行跟踪,这种数据管理需要协议有以下两大关键功能:可靠性:保证数据确实到达目的地。如果...
"age是在main函数内部声明的,说明age的内存存在于main函数的栈空间内部,但是block内部的代码在__main_block_func_0函数内部。__main_block_func_0函数内部无法访问age变量的内存空间,两个函数的栈空间不一样,__main_block_func_0内部拿到的age是block结构体内部的age,因此无法在__main_block_func_0函数内部去修改main函数内部的变量。"
这段话是不是有问题? __main_block_func_0函数内部明显可以访问age变量,只不过Block仅仅捕获了age的值,并没有捕获age的内存地址。所以在__main_block_func_0这个函数中即使我们重写这个自动变量val的值,依旧没法去改变Block外面自动变量val的值。
OC可能是基于这一点,在编译的层面就防止开发者可能犯的错误,因为自动变量没法在Block中改变外部变量的值,所以编译过程中就报编译错误。
iOS底层原理总结 - 探寻block的本质(二)上一篇文章iOS底层原理总结 - 探寻block的本质(一)中已经介绍过block的底层本质实现以及了解了变量的捕获,本文继续探寻block的本质。 block对对象变量的捕...
iOS底层原理总结 - Category的本质 面试题 Category的实现原理,以及Category为什么只能加方法不能加属性。 Category中有load方法吗?lo...
iOS底层原理总结 - 探寻OC对象的本质 对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 面试题:一个NSObject对象占用多少内...
一.图像从文件到屏幕过程 通常计算机在显示是CPU与GPU协同合作完成一次渲染.接下来我们了解一下CPU/GPU等在这样一次渲染过程中,具体的分工是什么? CPU: 计算视图...
声明:本文是本人 编程小翁 原创,转载请注明。 注:本文需要一些iOS的Runtime基础 该方案的完成将会用到以下知识: Method Swizzling(Hook) 单元...