音视频
AVPlayer 创建初始化 AVPlayer 实例,然后添加到 AVPlayerLayer 层上,再把这个播放层添加到控制器视图的层上,调 play 方法 AVPlayerViewController 用来替代 MPMoviePlayerViewController(iOS 9 开始被废弃) 播放音视频 创建初始化 AVPlayerViewController 实例...
AVPlayer 创建初始化 AVPlayer 实例,然后添加到 AVPlayerLayer 层上,再把这个播放层添加到控制器视图的层上,调 play 方法 AVPlayerViewController 用来替代 MPMoviePlayerViewController(iOS 9 开始被废弃) 播放音视频 创建初始化 AVPlayerViewController 实例...
官方文档 Block 的存储区域 __weak 与 __strong 是如何解决循环引用的 block 的本质 通过 clang -rewirite-objc main.m 命令,查看生成的 main.cpp 文件,可以看出: 编译器会将 block 的内部代码生成对应的函数,调用 block 时就是调用这个函数 block 的内存管理 默认情况下, block ...
数据存储方式 plist 属性列表 NSKeyedArchiver Keychain(保存帐号、凭证等少量数据) Core Data SQLite 3 plist 属性列表 // 把 key 和 value 存入 /Library/Preferences/xxxxx.plist 属性列表文件中,xxxxx 是 bundle id [[NSUserDefaul...
iOS多线程:『RunLoop』详尽总结 深入理解RunLoop 一条线程对应一个 RunLoop 对象,但除主线程外,其他线程都需要显示的创建和维护 RunLoop 对象 非主线程的 RunLoop 对象在第一次获取 RunLoop 时创建: [NSRunLoop currentRunLoop] 使用场景 一:让 NSTimer 正常工作,不受 U...
几个常见应用 1、交换方法的实现 @implementation UIImage (Image) // 加载分类到内存的时候调用,在 init: 方法之前调用 + (void)load { // 交换方法 // 获取 imageWithName 方法地址 Method imageWithName = class_getClassMethod(self...
一堆博客 起底多线程同步锁(iOS) 看一眼,你就会用GCD iOS多线程:『GCD』详尽总结 GCD高级用法 进程和线程 进程:在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。 线程:是程序执行的最小单元,在多线程系统中,通常是在一个进程中包括多个线程。 四种多线程技术: pt...
10大基础实用算法及其讲解 8大排序和3大查找 排序比较与总结 算法专题
Python 语言 官网 官方文档 廖雪峰 Python 3 教程 开源量化框架 量化交易入门 国内量化平台及对比 量化回测框架对比选择 六大开源金融量化回测框架功能对比 6款优秀开源量化策略框架!那款适合你? vn.py 基于 Python 的开源交易平台开发框架