let tabBarVC: TabBarController = UIApplication.shared.keyWindow?.rootViewController as!...
let tabBarVC: TabBarController = UIApplication.shared.keyWindow?.rootViewController as!...
git rm --cached .DS_Store git commit -m '.DS_Store untracked'
Subject 基本介绍 Subject即使观察者,也是可观察序列,因为都遵循了这两天协议Observable、ObserverTypeRxSwift中Subject一种有三...
let urlString: String = "" varrequest =URLRequest(url:URL(string: urlString...
报错详情:Xcode 15 beat6 Assertion failed: (false && "compact unwind compressed function off...
你这写的是个球啊
视频解码流程一、解码的上的:播放视频(废话) 二、解码流程: 第一步:组册组件 av_register_all() 例如:编码器、解码器等都属于组件 第二步:打开封装格式(其实就是打...
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案 ffmpeg的代码是包括两部分的,一部分...
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案 ffmpeg的代码是包括两部分的,一部分...
苹果电脑标准安装脚本:(推荐 优点全面 缺点慢一点) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewC...
获取所有属性 unsigned int count =0; Ivar *ivars = class_copyIvarList([WKWebView class], &co...
1.Runloop 和线程的关系? 一个线程对应一个 Runloop。 主线程的默认就有了 Runloop。 子线程的 Runloop 以懒加载的形式创建。 Runloop ...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
Category底层原理 Category可以把一个类的功能拆解成很多模块 创建一个类,并创建两个分类 分类编译时底层编译成的代码: 每一个分类对应一个结构体对象 如: 编译...
增加了 # 符号,使得写字符串更加简单。 在字符串中包含 " 时不必再加 \ //before let rain = "The is\"new\"string" //a...
闭包是自包含的功能块,可以在代码中传递和使用。 Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambdas。闭包可以捕获和存储对定义它们的上下...