swift函数回调改写为swift协程concurrency的async函数
之前也写过一篇swift的新特性文章,但是app最低版本没到iOS13.0,所以一直没有用到业务代码中。 理论性知识相关就不写了,这里直接上代码改造 异步串行改 // 两个异步方法 func helloAsync(onComplete: @escaping (Int) -> Void) { DispatchQueue.global().asyncAfter(deadlin...
之前也写过一篇swift的新特性文章,但是app最低版本没到iOS13.0,所以一直没有用到业务代码中。 理论性知识相关就不写了,这里直接上代码改造 异步串行改 // 两个异步方法 func helloAsync(onComplete: @escaping (Int) -> Void) { DispatchQueue.global().asyncAfter(deadlin...
级别区别 W1-AIDA2:STA 1:30,DYNB 30米,CWTB 12-20米,了解学习无璞技巧 W2-AIDA3:STA 2:30,DYNB CWTB 24-30米,豚踢 W3-AIDA4:STA 3:30,DYNB CWTB 34-40米,高级放松技巧:注意力分散 W4:竞技自由潜水,packing DYNB CWTB >= 50米 W1 泳池课两节,深度课...
大致意思就是布局要撑开ScrollView,也就是布局到最下面一个元素之后,最下面的元素要触底,将view撑开 addSubview(scrollView) scrollView.snp.makeConstraints { make in make.top.equalTo(self.snp.top).offset(18) make.bottom.equalTo(self...
灵感来至:https://help.aliyun.com/document_detail/176429.html?spm=a2c4g.131156.0.i1 import CommonCrypto import CryptoKit let username = "rambo" // 一个byte=8bit,也就是UInt8 // 三个字节的随机数 var tokenData = (0.....
官方Core ML文档,有很多官方demo https://developer.apple.com/cn/documentation/coreml/ 官方物品实时识别的demo https://developer.apple.com/documentation/vision/recognizing_objects_in_live_capture yolo再iOS上的使用 https...
为什么将 Array,String,Dictionary,Set,设计为值类型 堆和栈的区别 设置成值类型,能够更好的保证线程安全 理解Swift中的写时复制 Copy on write 在OC语言中,想要获取多个完全一致、互不干扰的对象,可以使用mutableCopy。 复制代码NSMutableArray *arr = [NSMutableArray arrayWit...
转载至 https://zhuanlan.zhihu.com/p/534439206 看完这篇之后可以自行网上查找其他CMake教程,了解各函数用法 ▌入门案例:单个源文件 本节对应的源代码所在目录: https://github.com/wzpan/cmake-demo/tree/master/Demo1 对于简单的项目,只需要写几行代码就可以了。例如,假设现在我们的项目...
封装google的webrtc能运行的demo https://github.com/stasel/WebRTC-iOS 视频流类型:主码流,辅码流 主码流质量高,主要用于本地网络。子码流主要用于数据网络。 https://cloud.tencent.com/developer/article/1630104 https://blog.csdn.net/Top_hxl_dq/art...
问题 pod install的时候经常碰到某个三方库没法clone下来,但是自己浏览器又是能够打开 unable to access 'https://github.com/danielgindi/.git/': Failed to connect to github.com port 443 after 75032 ms: Couldn't connect to server 解决...
读Alamofire 使用泛型巧妙的使各类去进行extension扩展 参考JKPop,见这篇文章 线程安全@Protected使用 详细见这篇文章 判断当前线程是否具备可靠性dispatchPrecondition aDispatchQueue.async { dispatchPrecondition(condition: .onQueue(.main)) se...