iOS
未读
浅谈iOS中的weak
__weak探究 程序中添加了一个 __weak 变量,查看调用堆栈,看到下一个调用的是 objc_initWeak 函数。 所以我们就 objc_initWeak 函数作为入口,探究 weak。 数据结构 首先了解以下的变量,这些变量在这章的数据结构、函数形参中使用: __weak id weak
iOS
未读
CocoaPods组件化——OC/Swift动静态库混用
缘起 一个swift库,charts。 项目本身是通过 cocoapods 进行组件化管理的。 在没有集成 charts 之前,一切都是那么的美好,天是晴的,雨是停的。 直到有一天,因为业务需要图表功能,经一番调研之后,选择了 charts 集成到工程之中。 然后噩梦就开始了。 直接集成跑项目会直接
iOS
未读
当对象接收到不能处理的消息时调用的方法
当对象接收到不能处理的消息时调用的方法,下面三个方法会按顺序调用。
// 但是自己测试当对象接收到不能处理的消息时调用的方法时,会调用这个方法,在这个方法中拿到sel
- (NSMethodSignature*)methodSignatureForSelector:(SEL)selector {
命令行通过ffmpeg剪切视频
ffmpeg的强大自不用多书,有时候遇到只是想简单剪切一下视频,那么可以直接用一下脚本,简单方法,前提是先装上ffmpeg环境。 以下就是脚本内容。 #!/usr/bin/env PYTHONIOENCODING=UTF-8 /usr/local/anaconda3/bin/python3
imp
iOS
未读
iOS:如何在UITableView调用reloadData刷新结束后再同步执行后续操作
调用[tableView reloadData]时,系统并不会等待tableview更新结束后才执行后续代码,而是立即执行后续代码,然后异步地去计算scrollView的高度,获取cell等等。 但是我们又经常需要在tableview刷新结束后同步的执行某些操作,这个是一个隐藏的小坑,有时候稍不注意
iOS
未读
统计iOS工程代码行数
虽然说这是一件毫无意义的事,而且如果代码打成库,统计还不准确。。当时有时候就是需要统计,比如说现在这个时间节点。。 注意,对swift代码无效。。 # 这个是包含空格的
find . "(" -name "*.m" -or -name "*.mm" -name "*.xib" -or -name "
CMake 入门及常用变量指令手册
实战 参考《CMake Practice》。 项目目录结构 我们项目的名称为CRNode,假设我们项目的所有文件存放再~/workspace/CRNode,之后没有特殊说明的话,我们所指的目录都以此目录为相对路径。 我们的目录结构如下: ~/workspace/CRNode
├─ src
│