随笔分类 -  Object-C

摘要:QQ音乐播放的过程中,锁屏状态下的效果如下: 也就是说,QQ音乐播放过程中,添加锁屏远程事件的监听。 本文只记录本人知道的小知识点,不提供完整的代码。 实现的原理: (1)获取锁屏歌曲信息中心:MPNowPlayingInfoCenter (2)设置锁屏下要显示的歌曲的信息 (3)启动远程事件的监听 阅读全文
posted @ 2019-11-04 16:37 一人前行 阅读(2719) 评论(0) 推荐(0)
摘要:预期实效果图如下: 如上图所示,文字的颜色会根据时间的移动,逐字变成绿色。 实现方法:(1)调用方法: 用 void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode) 这个方法来实现 (2)实现逻辑: 自定义Label,通过la 阅读全文
posted @ 2019-11-01 18:49 一人前行 阅读(489) 评论(0) 推荐(0)
摘要://听筒播放 - (IBAction)tingTongPlay:(id)sender { [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:0 error:nil] 阅读全文
posted @ 2019-10-31 17:22 一人前行 阅读(532) 评论(0) 推荐(0)
摘要:参考文章:https://www.cnblogs.com/junhuawang/p/7920989.html 音频输出作为硬件资源,对于iOS系统来说是唯一的,那么要如何协调和各个App之间对这个稀缺的硬件持有关系呢? iOS给出的解决方案是"AVAudioSession" ,通过它可以实现对App 阅读全文
posted @ 2019-10-31 17:17 一人前行 阅读(1233) 评论(0) 推荐(0)
摘要:一.介绍 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Sound Service是一种简单、底层的声音播放服务,但是它本身也存在着一些限制: 音频播放时间不能超过30 阅读全文
posted @ 2019-10-31 14:04 一人前行 阅读(912) 评论(0) 推荐(0)
摘要:1.静态库简介 1.1.静态库的简介 库就是程序代码的集合,是共享程序代码的一种方式 1.2.库的分类 (1)开源库:公开源代码,能看到具体实现 (2)闭源库:不公开源代码,是经过编译后的二进制文件,看不到具体实现;其中包括:静态库和动态库 1.3.静态库的存在形式 (1).a (2).framew 阅读全文
posted @ 2019-10-22 19:07 一人前行 阅读(314) 评论(0) 推荐(0)
摘要:点击状态栏,回到顶部(系统自带就有),其实现原理: 设想一:监听状态栏点击 不可取--因为获取不懂状态栏的控件,系统没有暴露 设想二:往窗口上添加一个View,挡住状态栏 不可取--因为添加后,View视图还是在状态栏的下面,没法挡住;状态栏是另外一个窗口 设想三:创建状态栏窗口 代码如下: 创建完 阅读全文
posted @ 2019-10-21 18:29 一人前行 阅读(746) 评论(0) 推荐(0)
摘要:HTTPS请求的时候: [1]证书是受信任的,什么都不用做 [2]证书是不受信任的,是自签名的 (1)修改配置文件,禁用ATS特性 (2)信任并安装数字证书 NSURLSession的示例代码如下: AFN的设置 阅读全文
posted @ 2019-09-30 17:57 一人前行 阅读(384) 评论(0) 推荐(0)
摘要:当我们请求接口的时候,服务器会返回一些数据,当我们打印的时候就会发现,打印出来的是unicode码,不是汉字。 这时候需要我们自己手动处理一下,让打印的时候输出汉字的格式。 方法如下: 新增一个分类,在分类中,重写描述的方法,如下: 阅读全文
posted @ 2019-09-29 18:58 一人前行 阅读(1021) 评论(0) 推荐(0)
摘要:文件上传的步骤: (1)确定上传路径 (2)创建“可变”请求对象 (3)修改请求方法为POST --设置请求头信息,告诉服务器这是一个文件上传请求 --按照固定的格式拼接数据 (4)设置请求体信息(文件参数) (5)创建会话对象 (6)根据会话对象来创建uploadTask (7)执行task发送请 阅读全文
posted @ 2019-09-29 18:08 一人前行 阅读(964) 评论(0) 推荐(0)
摘要:1.用downloadTask下载图片 优点:简单 缺点:不能监听下载的进度 代码示例: 2.downloadTask下载比较大的文件 优点:已经解决内存飚升的问题 缺点:无法实现断点下载的功能 代码如下: 阅读全文
posted @ 2019-09-27 18:44 一人前行 阅读(2620) 评论(0) 推荐(0)
摘要:小文件的下载,代码示例: 大文件的下载,代码示例: 如果按照上面那段代码的话,可以实现功能,但是有一个问题,就是 内存会飚升。为了处理这个问题,直接把拿到的数据,就写入沙盒, 逻辑如下: 修改如下: 按照上面的代码可以解决内存的问题,但是,下完后,会发现,文件打不开,因为文件被损坏了,而且查看文件的 阅读全文
posted @ 2019-09-24 19:02 一人前行 阅读(1174) 评论(0) 推荐(0)
摘要:JSON的序列化,代码示例: JSON的反序列化,代码示例: 阅读全文
posted @ 2019-09-24 14:14 一人前行 阅读(1110) 评论(0) 推荐(0)
摘要:1.NSURLSession的使用流程 2.获取NSURLSession 3.常见的方法 4.NSURLSession中post请求的代码示例: 注意:NSURLSession中的completionHandle 的block是默认在子线程中调用的 阅读全文
posted @ 2019-09-23 18:43 一人前行 阅读(187) 评论(0) 推荐(0)
摘要:RunLoop字面上的意思是,运行循环; 其基本作用:保持程序的持续运行; 处理App中的各种事件(比如:触摸事件、定时器事件、Selector事件) 节省CPU资源,提高程序性能:该做事时做事,该休息时休息 1.main函数中的RunLoop NSRunLoop 是基于CFRunLoopRef的一 阅读全文
posted @ 2019-09-18 18:25 一人前行 阅读(209) 评论(0) 推荐(0)
摘要:(1)NSCach 可以设置最大缓存数据的数量,如果超出该限制那么内部会自动开启一个回收过程把最先存储的数据删除 (2)NSCach 可以设置代理,<NSCachDelegate>,可以监听 内部开启回收过程的时候调用 参考代码如下: 这个缓存,只限于当前运行的状态数据,如果把app关了重启,那么数 阅读全文
posted @ 2019-09-18 10:34 一人前行 阅读(285) 评论(0) 推荐(0)
摘要:思路: (1)在显示图片前,先检查是否有内存缓存; (2)有内存缓存,直接使用; (3)如果没有内存缓存,再去检查是否有磁盘缓存; (4)有磁盘缓存,直接使用 + 保存 一份到内存中(以后使用方便) (5)没有磁盘缓存,就判断是否已经在下载了,如果没有下载,就开启线程下载;如果已下载,就下载图片并显 阅读全文
posted @ 2019-09-10 16:27 一人前行 阅读(122) 评论(0) 推荐(0)
摘要:UIApplicationMain: 1、创建UIApplication--应用程序唯一标识:可设置状态栏、识别联网状态、设置数字、打电话、发邮件、发短信、打开网页 2、创建UIApplication代理,监听应用程序生命周期,内存警告 3、开启主运行程序,保证程序一直运行,监听事件 4、判断inf 阅读全文
posted @ 2019-09-06 21:49 一人前行 阅读(118) 评论(0) 推荐(0)
摘要:1.当view被添加到另一个view上时调用 2.布局子控件时调用 3.屏幕旋转的时候调用 4.当view的尺寸大小改变的时候调用 阅读全文
posted @ 2019-09-04 17:24 一人前行 阅读(239) 评论(0) 推荐(0)
摘要:setValueForKeysWithDictionary这个方法会遍历字典, 然后调用setValue:forKeyPath: 根据字符串,进行属性匹配: (1)根据key,到当前模型当中,去找有没有跟key相同名称的set方法; 如果有,就会调用该set方法,给属性进行复制; (2)如果没有se 阅读全文
posted @ 2019-09-04 16:17 一人前行 阅读(183) 评论(0) 推荐(0)