iOS
文章平均质量分 94
iOS
忘川三
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS - 音频: Core Audio - 播放
Properties的key一般是个常量值,比如 kAudioFilePropertyFileFormat或者kAudioQueueDeviceProperty_NumberChannels.类型中的stream只是表示播放的概念,这里定义的就是iOS音频格式的描述。在回调方法中读取音频文件并将数据入队供系统的队列播放。我加载的是一个44.1kHz,双声道的mp3文件。: 一个声道采样的值,采样率定义了每秒从。回调函数实现分两步: 注册 && 回调。: 一个或多个连续的帧。: 一个时间常量内的。原创 2025-04-29 08:59:21 · 1237 阅读 · 0 评论 -
学习笔记: Mach-O 文件
结构决定性质,性质决定用途”。如果不了解结构,是很难真正理解的。通过一个示例的可执行文件了解Mach-O文件的结构。原创 2025-04-19 16:48:55 · 839 阅读 · 0 评论 -
ReactNative 入门体验
环境macOS Mojave Version 10.14.3Xcode 10.1iPhone 5s 10.0.1node v11.10.0npm 6.7.0React Native 0.58react 16.6.3新建ReactNative项目brew install nodebrew install watchman安装React Native命令行工具npm in...原创 2019-02-22 23:36:14 · 1709 阅读 · 0 评论 -
iOS崩溃日志分析
环境macOS Mojave 10.14.3Xcode10.1iPhone6S 10.0.1获得崩溃日志方式一:Xcode菜单 > Window > Devices and Simulators选择设备并查看设备日志(View Device Logs)方式二:手机设置 > 隐私 > 诊断与用量 > 诊断与用量数据崩溃日志的结构头部(Head...原创 2019-02-09 09:57:54 · 5391 阅读 · 0 评论 -
Charles HTTP抓包原理
前言: Web代理服务器来自参考链接2对客户端/浏览器来说Web代理服务器是服务器对服务器来说Web代理服务器是客户端环境WireSharkCharlesmacOS 10.13.6解释根据参考链接1中的这段话Web proxy serversWeb proxies forward HTTP requests. The request from the client ...原创 2019-01-09 17:06:08 · 1638 阅读 · 0 评论 -
Clang学习历程 编译过程-词法分析
前言《编译原理》中提到编译器的第一个步骤是词法分析(Lexical Analysis)或扫描。词法分析器读入组成源程序的字符流,并且将它们组织成为有意义的词素(lexeme)的序列。对于每个词素,词法分析产生如下形式的词法单元(token)作为输出:<token-name,attribute-value>token-name 是一个语法分析步骤要使用的抽象符号att...原创 2018-12-28 15:41:13 · 4906 阅读 · 0 评论 -
Clang学习历程 概述
介绍ClangClang是LLVM(Low Level Virtual Machine)项目提供的工具链中的编译器的前端部分LLVM项目是模块化和可重用的编译器和工具链技术的集合,LLVM的一大特色就是,有着独立的、完善的、严格约束的中间代码表示。这种中间代码,就是LLVM的字节码,是LLVM抽象的精髓,前端生成这种中间代码,后端自动进行各类优化分析,让用LLVM开发的编译器,都能用上最先见...原创 2018-12-28 15:39:46 · 6831 阅读 · 0 评论 -
ObjC Runtime 中 Weak 属性的实现 (中)
导语在上一篇中简单分析了 Weak 属性是如何被存储,获取和销毁的,其中的 SideTable 结构体当做黑盒进行处理。本文尝试对 SideTable 的结构进行一些分析。观察struct SideTable { spinlock_t slock; RefcountMap refcnts; weak_table_t weak_table; SideTable() {原创 2017-06-05 07:19:33 · 1318 阅读 · 0 评论 -
iOS的多屏适配 - AutoLayout
使用Storyboard与纯代码实现水平宽度三等分的自动布局效果,带实例原创 2015-06-08 21:34:19 · 1144 阅读 · 0 评论 -
OC的数据传递-Block,代理,通知,KVO
在开始之前,先贴一张图片,表明为什么需要将Block,代理,通知和KVO放在一起。由上图可知,Block,代理,通知和KVO都能实现数据传递的功能,可以根据不同的情景选择合适的方式Block声明// 使用typedef为block变量定义别名// 解释:将一个返回值为double,参数为int的block取一个Rename的别名typedef double (^Rename)(int);//原创 2015-06-09 07:58:41 · 1491 阅读 · 1 评论 -
Masonary-简化自动布局
Masonary的价值在iOS中,AutoLayout是一种灵活且高效的布局视图的方法,它通过约束简单明确的实现了多屏适配的功能,但是如果不用storyboard而使用,纯代码开发时,使用NSContraints就显得有些繁琐了,而Masonary就是创建自动布局的轻量级框架。如何安装新建一个xcode工程在Podfile中 添加 pod ‘Masonry’ (提示:最好在vim下编辑,关闭中文原创 2015-06-11 00:18:26 · 1580 阅读 · 0 评论 -
ObjC Runtime 中 Weak 属性的实现 (上)
前言OC 中的 weak 属性是怎么实现的,为什么在对象释放后会自动变成 nil?本文对这个问题进行了一点探讨。环境 mac OS Sierra 10.12.4 objc709参考答案搜索后发现runtime 如何实现 weak 属性给出了一个参考答案。 runtime 对注册的类, 会进行布局,对于 weak 对象会放入一个 hash 表中。 用 weak 指向的对象内存地址作为原创 2017-05-30 08:20:04 · 4145 阅读 · 1 评论
分享