大体分为两种写法1.左闭右闭 [l,r]2.左闭右开 [l,r) 左闭,右闭 [l, r] 输入数组不可重复 输入数组可重复,输出最左侧符合条件的值 输入数组可重复,输出最...
大体分为两种写法1.左闭右闭 [l,r]2.左闭右开 [l,r) 左闭,右闭 [l, r] 输入数组不可重复 输入数组可重复,输出最左侧符合条件的值 输入数组可重复,输出最...
前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列文章的第二篇,主要为小伙伴们分享下WKWebView相关的内...
Flutter 2.5.1 在项目目录下,在终端运行以下命令: 使用kIsWeb,判断是否支持浏览器 Web端不支持Platform.* 比如Platform.isAndro...
最近项目中有个需求,widget要能够移动、旋转、点击,代码实现如下。 基本功能都使用没什么问题,但是测试中发现在进行缩放的时候总是延迟,手势执行一定时间后widget才开始...
+initialize方法在类第一次接收到消息的时候被调用 调用顺序1.先调用父类的,再调用子类的2.如果子类没实现+initialize方法,会调用父类的+initiali...
基本用法 以下是几种不同key的写法 关联对象的原理 关联对象不是存储在对象本身的内存中的,它被保存在一个全局的AssociationsManager中 相关的类Associ...
调用方式 load函数直接调用。 initialize是通过objc_msgSend调用。 调用时刻 load是在程序初始化的时候调用。(只调用一次) initialize在...
+load方法会在程序初始化时候调用 每个类和分类的+load方法都会调用,并且只调用一次 调用顺序1. 先调用类中的+load按照编译顺序调用,先编译的先调用父类优先调用。...
Category编译后,其本质是结构体struct _category_t,里面存储着对象方法、类方法、属性、协议等信息 程序运行时,runtime会将Category的数据...
使用Swift实现的LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。当缓存容量达到上限时,它应该在写入新数据之前删除最久未...
以下是对官方文档的一些总结,如有错误请指出 在swift中想要作为dictionary或者set的key,必须遵守Hashable 协议。 You can use any t...
Objective-C Autorelease Pool 的实现原理 自动释放池的前世今生 ---- 深入解析 Autoreleasepool AutoreleasePool...
method swizzling方法交换 注意下面这句代码:originSel为当前类的父类方法时才能添加成功。如果不做此判断,子类对象是可以正常执行交换的方法的。但是由于s...
当调用[recever message]时,其实执行的是id objc_msgSend(id self, SEL op, ...)这个函数。recever通过isa指针找到当...
基础原理 OC为动态语言,OC上所有的方法调用/类的生成都通过Objective-C Runtime在运行时进行,可通过类名/方法名反射得到相应的类和方法: Class cl...
1.当一个对象第一次被观察时,系统使用runtime机制自动创建一个该类的派生类,在派生类中重写,陪观察属性的setter方法,在setter发布方法中添加通知机制的代码。 ...
知其然亦知其所以然--NSOperation并发编程 iOS多线程:『NSOperation、NSOperationQueue』详尽总结 NSOperation是基于 GCD...
?xml version="1.0" encoding="UTF-8"? 参考文章:深入理解RunLoop[http://www.cocoachina.com/ios/201...
1.申请后台权限。Capabilities->Background Modes 2.设置后台播放模式 3.创建播放器 注意:AVAudioPlayer只能播放本地文件,且一次...