首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios基础
订阅
小辣鸡
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
iOS | 事件传递及响应链
试想一下假如你是一台手机📟,当有人触摸了屏幕之后,你需要找到他具体触摸了什么东西,他可能触摸是一个按钮,或一个列表,也有可能是一个一不小心的误触,你会设计一个怎么样的机制和系统来处理呢?假如有两个按钮重叠了,或者遇到在滚动列表上需要拖动某个按钮的情况,你设计的机制能正常的运作…
iOS - 揭露Block的内部实现原理
揭露Block的内部实现原理
深入理解GCD之dispatch_queue
GCD队列是我们在使用GCD中经常接触的技术点,分析dispatch_queue部分的源码能更好得理解多线程时的处理。但是libdispatch的源码相对来说比较复杂,综合考虑下,使用了libdispatch-187.9进行分析。 1. 队列和线程的关系 线程和队列并不是一对一…
CALayer的使用
CALayer在概念和UIView类似,也是一些被层级关系树管理的矩形块,可以包含图片、文字、背景色等内容。和UIView的最大不同是不能够处理与用户的交互。 每一个UIView都有个CALayer实例的图层属性,被称为backing layer,由视图负责创建并管理这个图层,…
iOS底层原理 - Runtime - objc_msgSend()(一)
没找到,在当前类class_rw_t的methods方法列表中查找,找到后缓存到当前类的cache中。 如果没排好序了,遍历查找。 如果当前类没找到,去父类的父类的方法列表中查找,找到后缓存到当前类的cache中。 如果父类缓存没找到,去父类的的方法列表中查找,找到后缓存到当前…
UINavigationBar 的详解 (基于 API)
一个支持分层内容导航的视觉控件,最常用于导航控制器。 UINavigationBar对象是一个bar,通常显示在窗口的顶部,包含用于在屏幕层次结构中导航的按钮。 主要组件:左( 返回)按钮,中心标题和可选的右按钮。(下图所示) 个人认为首先要了解UINavigationBar的…
iOS远程推送--APNs详解
iOS远程推送,远远不是配置两个证书,集成个SDK那么简单。 本文会从实践出发,结合苹果的官方文档,带你全面的了解苹果APNs服务。除了基础原理和集成方法外,还将详细介绍了APNs服务接口的调用方式,以及各个推送SDK的基本原理。 示例代码在这里,包含iOS客户端以及java服…
Objective-C 之 RunLoop 底层实现
RunLoop 是线程中的一个do-while循环,一个线程如果没有 RunLoop,只能执行一个任务,执行完成后线程就会退出。有 RunLoop 会保持程序的持续运行,在循环中,通过 Input sources(输入源)和Timer sources(定时源)两种来源等待处理事…
深入理解iOS的block
在文章之前,先抛出如下问题。 如果现在不是很熟悉,希望看完这篇文章,能有个新的认识。 先介绍一下什么是闭包。在 wikipedia 上,闭包的定义是 block 实际上就是 Objective-C 语言对于闭包的实现。 如图所示,age是直接值传递,height传递的是*hei…
iOS 重绘之drawRect
iOS的绘图操作是在UIView类的drawRect方法中进行的,我们可以重写一个view的drawRect方法,在其中进行绘图操作,在首次显示该view时程序会自动调用此方法进行绘图。 在多次手动重复绘制的情况下,需要调用UIView中的setNeedsDisplay方法,则…