对于如下代码的,它的打印结果是什么 NSThread *thread = [[NSThread alloc] initWithBlock:^{ NSLog(@"1"); }]; [thread start]; [self performSelector:@selector(testhaha) onT ...
分类:
编程语言 时间:
2021-02-24 13:19:34
阅读次数:
0
前言:最近在整理自己的技术栈,收集了一些自己认为比较重要的知识点分享给大家。runloop1.iOS中触摸事件传递和响应原理2.为什么只有主线程的runloop是开启的3.为什么只在主线程刷新UI4.PerformSelector和runloop的关系KVO1.实现原理2.通过KVC修改属性会触发KVO么?KVC的赋值和取值过程是怎样的?原理是什么?3.哪些情况下使用kvo会崩溃,怎么防护崩溃4.
分类:
移动开发 时间:
2020-07-01 00:10:13
阅读次数:
85
1、直接使用实例变量(_varName)比通过点语法(self.varName)有更快的访问速度 2、直接访问实例变量,不会调用设置方法,绕过了相关属性所定义的内存管理语义 3、直接访问实例变量,不会触发【键值观察】(Key-Vaule Observinig,KVO)通知。 4、通过属性来访问有助于 ...
分类:
其他好文 时间:
2020-06-25 23:49:37
阅读次数:
104
更多的文章请看-2020iOS面试大全 持续更新! 分类 扩展 代理(Delegate) 通知(NSNotification) KVO (Key-value observing) KVC (Key-value coding) 属性关键字 一、分类 1.分类的作用? 声明私有方法,分解体积大的类文件, ...
分类:
移动开发 时间:
2020-05-11 15:54:23
阅读次数:
74
前言 KVO全称为Key Value Observing,键值监听机制,由NSKeyValueObserving协议提供支持,NSObject类继承了该协议,所以NSObject的子类都可使用该方法。 文章中的Demo KVO监听写法 例如在XZPerson类中有这么几个属性 @interface ...
分类:
移动开发 时间:
2020-04-28 21:33:12
阅读次数:
89
背景 在服务的缓存中使用了redis作为分布式缓存,在使用的过程中发现通过对比发现了一个异常现象:即redis proxy 的CPU使用率和请求的QPS不符合。和基础设施inf的同事也沟通过后,也没有一个固定的结论(也可能inf同事没有很认真的关注这个问题) 排查过程 现象发现 一次偶然的过程中,发 ...
分类:
其他好文 时间:
2020-04-26 16:56:30
阅读次数:
95
键值观察KVO的使用 1,KVO 介绍 KVO(键值观察)是一种 Objective-C 的回调机制,全称为:key-value-observing。 该机制简单来说就是在某个对象注册监听者后,当被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。 2,RxSwift 中的 ...
分类:
其他好文 时间:
2020-04-12 10:18:14
阅读次数:
73
Userscript+ for Tampermonkey-显示当前站点所有油猴脚本 RILL 2018-11-1 9:55:52 0人评论 26293次浏览 Chrome生产工具插件 摘要 : Userscript+ for Tampermonkey是一款可以显示当前站点所有油猴脚本的免费扩展。 U ...
分类:
其他好文 时间:
2020-03-03 13:08:20
阅读次数:
436
编程语言的分层理解 生态层:衍生层(在编程语言基本概念和特征的基础上衍生出的特征:aop)、衍生dsl(由编程语言通用概念经过编程(第三方库)添加出的新概念reactX等) 机器层(或者叫基础层)(cpu 执行流管理:并发、异步、异常等;IO;内存管理)+ 特性层(编程语言的独有特征:java的注解 ...
分类:
编程语言 时间:
2020-01-06 00:14:52
阅读次数:
104
任何编程语言都会有一个内存模型,以便管理为变量分配的内存空间。不同的编程语言,如C、C++、Java、C#,Python,它们的内存模型都是不相同的,本文将以现在最流行的Python语言为例,来说明动态类型语言的内存管理方式。 ...
分类:
编程语言 时间:
2019-12-30 09:50:36
阅读次数:
100