iOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的UIResponse。 响应链:由...
iOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的UIResponse。 响应链:由...
目录 快速检测Mac中各个环境前言【一】安装RVM【二】安装Homebrew【三】安装Ruby环境【四】切换Source源,替换Ruby源【五】升级Gem【六】安装Cocoa...
在使用原生的 AVFoundation 框架实现二维码扫描的时候, 需要注意一下两个方面: 启动相机的卡顿问题;有效扫描区域的问题; 本文主要针对这两个问题进行讲解. 1. ...
demo 前言 关于二维码的有效区域,在开发中遇到的人可能并不是很多,大多数情况都是直接用第三方,但是当你真正自己去尝试写的时候,你会发现二维码的有效区域是一个很令人捉摸不定...
二维码扫描在App中很常见的功能,之前都是用三方工具Zing、ZBar。后来Apple的AVFoundation也支持二维码扫描、生成,而且效率比三方库还要高。我把它封装成一...
一、苹果审核新规 背景:从2020年四月起提交至App Store的app,必须使用Xcode的Storyboard搭建启动页。在这条新规下,我们就不能使用原来的Assets...
最近在群里看到有人遇到了更新到iOS15.4版本并且设置时间为12小时制后,使用dateformatter解析出的时间格式出错的问题。代码如下: 输出结果: 可以看到虽然设置...
在 Swift 中,map filter reduce 等高阶函数的存在可以让我们更快的处理数据。在OC中实现对应方法: map:处理数组中的每个元素,并返回一个新的结果数组...
本篇文章采用的源码是objc4-781版本 使用atomic一定是线程安全的吗? atomic不是绝对的线程安全。atomic的本意是指属性的存取方法是线程安全的,并不保证整...
tableview 是开发中项目中常用的视图控件,并且是重复的使用,布局类似,只是数据源及Cell更改,所以会出现很多重复的内容,并且即使新建一个基础的列表也要重复这些固定逻...
面试系列: iOS面试全解1:基础/内存管理/Block/GCD[https://www.jianshu.com/p/8cdd64c84ab6] iOS面试全解2:Runlo...
block的本质是对象、函数、结构体。 一、block 定义 block:带有自动变量的匿名函数。 匿名函数:没有函数名的函数,一对{}包裹的内容是匿名函数的作用域。 自动变...
iOS程序的内存布局 Tagged Pointer 从64bit开始,iOS引入了Tagged Pointer技术,用于优化NSNumber、NSDate、NSString等...
执行动画过程中暂停和继续上次动画的状态继续执行动画,需要用到layer.speed 和 layer.timeOffset, layer.beginTime.基本做法就是记录暂...
最近我们有一个 DeepLink 的需求 用的是 Branch, 在这个过程中自然会涉及到 Universal Links 和 Custom URL Schem,在此进行笔记...
前言 隐藏细节,暴露抽象。 作为一名有追求的工程师,我们希望代码能够在版本迭代中逐渐优化而不是劣化;同时也会学习掌握更多的技巧和工具,去更好的设计、实现和组织代码。偶然看到一...
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,...