1、本质区别。GCD是block块,是轻量级的,效率更高;NSOperation是基于GCD的封装,效率比GCD低。2、NSOperation可以设置依赖,任务2依赖任务1,...
1、本质区别。GCD是block块,是轻量级的,效率更高;NSOperation是基于GCD的封装,效率比GCD低。2、NSOperation可以设置依赖,任务2依赖任务1,...
1、组:dispatch_group多个网络请求执行完,再执行刷新 以上代码运行打印: 2、dispatch_once 通常在创建单例时使用3、dispatch_after...
进程:进程是操作系统分配资源的基本单位,拥有独立的内存单元,一个进程崩溃,不会对其他进程造成影响。 线程:线程是独立运行和对立调度的基本单位。线程是真正的执行单元,负责代码的...
CPU中央处理器,主要任务是对象的创建和销毁、对象属性的调整、布局计算、文本计算和排版、图片的格式转换和解码、图片的绘制等。GUP图像处理器。主要是纹理的渲染。 页面成像是由...
冷启动:从0开始启动App1、App启动时,dyld会将可执行文件加载到内存中,同时加载依赖的动态库,都加载完毕后,会通知runtime进行下一步操作。2、runtime调用...
自iOS8之后,苹果支持了扩展(Extension)的开发,开发者可以通过系统提供给我们的扩展接入点 (Extension point) 来为系统特定的服务提供某些附加的功能...
1.weak的基本用法 weak是弱引用,用weak来修饰、描述所引用的对象计数器并不会增加,而且weak会在引用对象被释放时自动置为nil,这也就避免了野指针访问坏内存而引...
atomic和nonatomic的主要区别在于系统生成的getter和setter方法不同。 atomic: 声明属性时在不添加atomic和nonatomic的情况下,默认...
前言 最近遇到一个需求(其实是闲着无聊),需要在客户端上实时显示当前的上行速度和下行速度和网络类型。目前关于iOS测速的文章和demo网上一搜一大堆,基本上使用的方法都一致,...
最近项目需要对好友进行排序,由于中文的特殊性算法也改了很多次,下面用一个Demo来说明一下的过程首先创建一个用来测试数组,简单的User模型中只有一个name属性,遍历赋值。...
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
IJSEditSDK[https://github.com/wangjinshan/IJSEditSDK]基于GPUImage的图片视频编辑工具 TOCropViewCont...
一 IOSIJSEditSDK基于GPUImage的图片视频编辑工具 TOCropViewController - 一个允许用户裁剪UIImage对象的视图控制器。 HQIm...
内购流程: 核心代码: 1、初始化SKProductsRequest请求 2、在代理的方法中处理业务逻辑
一、签署《付费应用程序协议》 1⃣️登录苹果开发者中心[https://developer.apple.com/membercenter/index.action],进入iT...
麻烦问一下,BOOLSandBox你是怎么判断的?
iOS内购内购流程 一、填写协议,税务和银行业务 二、代码部分 三、注意事项 1.接入内购后把支付宝、微信支付的SDK删掉,苹果那边能扫出来(因为这个原因我被拒过)。 2.内购商品是和...
@wenny_Liu 嗯嗯 ,我自定义了一个target,然后更换了一下,运行就不报错了
iOS-底层原理 03:objc4-781 源码编译 & 调试iOS 底层原理 文章汇总[https://www.jianshu.com/p/412b20d9a0f6] 本文主要是通过将objc4-781的源码编译成功,然后在源码中进行...
@wenny_Liu 没有解决,Cooci老师说是因为环境问题,编译时换一个target就可以了。
iOS-底层原理 03:objc4-781 源码编译 & 调试iOS 底层原理 文章汇总[https://www.jianshu.com/p/412b20d9a0f6] 本文主要是通过将objc4-781的源码编译成功,然后在源码中进行...