首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS开发 知识点收藏
订阅
向日葵shm
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
关于iOS Responder Chain 的一些理解
响应者:它是 UIResponder/UIView/UIViewController/UIApplication 的实例。它会接受事件,并且它必须处理事件或将事件传递给下一个响应者。UIKit 会自动决定哪个对象为最合适的响应者,即第一响应者。 响应链:响应者传递事件的过程。 …
深入理解iOS的block
在文章之前,先抛出如下问题。 如果现在不是很熟悉,希望看完这篇文章,能有个新的认识。 先介绍一下什么是闭包。在 wikipedia 上,闭包的定义是 block 实际上就是 Objective-C 语言对于闭包的实现。 如图所示,age是直接值传递,height传递的是*hei…
详解iOS中的Runtime
在Objective-C 1.0使用的是legacy,在2.0使用的是modern。这里简单介绍下区别: 在legacy runtime,如果你改变了实例变量的设计,需要重新编译它的子类。支持 32bit的OS X 程序 在modern runtime,如果你改变了实例变量的设…
iOS 性能优化总结
在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行变换、合成、渲染。随后…
Objective-C(十一)load和initialize
本文是Objective-C系列的第11篇,主要讲述了及load和initialize两个特殊方法的相关特性及其底层的实现。 在讲述之前,我们先把该两个方法常用到的一些知识点先列出。 根据下列顺序,阅读objc源码即可。 调用load方法,即将上一步抽取出来的方法列表loada…
iOS远程推送--APNs详解
iOS远程推送,远远不是配置两个证书,集成个SDK那么简单。 本文会从实践出发,结合苹果的官方文档,带你全面的了解苹果APNs服务。除了基础原理和集成方法外,还将详细介绍了APNs服务接口的调用方式,以及各个推送SDK的基本原理。 示例代码在这里,包含iOS客户端以及java服…
iOS深思篇 | 启动时间的度量和优化
一. 简介 App的启动时间是衡量一个App性能的重要指标,或者可以说是App性能的第一印象。在这篇文章中,我们将要介绍启动时间的相关知识和打点统计。 二. 启动优化 之后测试也依照这两种启动方式进行测试。一般来说启动时间(点击图标 -> 显示Launch Screen -> …
iOS底层原理 多线程之GCD 看我就够了 --(10)
上篇RunLoop已经讲过了RunLoop和线程的关系,以及Thread如何保活和控制生命周期,今天我们再探究下另外的一个线程GCD,揭开蒙娜丽莎的面纱。 GCD是什么呢?我们引用百度百科的一段话。 GCD 自动管理线程,线程创建,挂起,销毁。 串行是基于队列的,队列会自己控制…
iOS Masonry 等间隔或等宽高排列多个控件
两个API,分为固定间隔不固定宽高,固定宽高不固定间隔,根据具体需求使用相应的即可。 需要注意的是: 横排的时候要相应设置控件数组的垂直约束,竖排的时候要相应设置控件数字的水平约束。
iOS 开发:『Blocks』详尽总结 (二)底层原理
本文用来介绍 iOS 开发中 『Blocks』的底层原理。我将通过 Blocks 由 OC 转变的 C++ 源码来一步步解析 Blocks 的底层原理。