摘要: 先上效果图: display.gif 有需要的请移步GitHub下载: https://github.com/HuangGY1993/GYSpectrum 用法很简单,示例: SpectrumView * spectrumView = [[SpectrumView alloc] initWithFr 阅读全文
posted @ 2019-05-17 18:38 brave-sailor 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 今天在研究swift的时候看到了分类和扩展。这是两个十分重要有用的功能,但是之前用的不多,没有深入了解过,在今天就从头理一遍。 一、分类(Category): 概念: 分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针。原则上它只能增加方法,不能增加成员(实例)变量。具体 阅读全文
posted @ 2019-05-17 18:36 brave-sailor 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 背景: 在大型项目,企业级开发中多人同时维护同一个类,此时程序员A因为某项需求只想给当前类currentClass添加一个方法newMethod,那该怎么办呢? 最简单粗暴的方式是把newMethod添加到currentClass中,然后直接实现该方法就OK了。 但考虑到OC是单继承的,子类可以拥有 阅读全文
posted @ 2019-05-17 18:20 brave-sailor 阅读(948) 评论(0) 推荐(0) 编辑
摘要: 前言 Flutter 是一个很有潜力的框架,但是目前使用Flutter的APP并不算很多,相关资料并不丰富,介绍现有工程引入Flutter的相关文章也比较少。项目从零开始,引入Flutter操作比较简单,但是现有工程引入Flutter 需要费很多精力和时间,这里是我在完成现有iOS工程引入Flutt 阅读全文
posted @ 2019-05-17 16:37 brave-sailor 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是GreenDao,在各种情况的作用下,准备了解下GreenDao,顺便写一篇文章记录下GreenDao的基本使用!大家在使用GreenDao的时候遇到什么问题,欢迎在我的公众号aserba 阅读全文
posted @ 2019-05-17 11:03 brave-sailor 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 01 前言 当我们进行项目开发的时候,往往是需要应用程序的各组件、组件与后台线程间进行通信,比如在子线程中进行请求数据,当数据请求完毕后通过Handler或者是广播通知UI,而两个Fragment之家可以通过Listener进行通信等等。当我们的项目越来越复杂,使用Intent、Handler、Br 阅读全文
posted @ 2019-05-17 10:50 brave-sailor 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第二篇:一步一步教你实现iOS音频频谱动画(二) 基于篇幅考虑,本次教程分为两篇文章,本篇文章主要讲述音频播放和频谱数据的获取,下篇将讲述数据处理和动画绘制。 前言 很久以前在电脑上听音乐的时候,经常会调出播放器的一个小工 阅读全文
posted @ 2019-05-17 10:48 brave-sailor 阅读(1706) 评论(1) 推荐(0) 编辑
摘要: 如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第一篇:一步一步教你实现iOS音频频谱动画(一) 本文是系列文章中的第二篇,上篇讲述了音频播放和频谱数据计算,本篇讲述数据处理和动画的绘制。 前言 在上篇文章中我们已经拿到了频谱数据,也知道了数组每个元素表示的是振幅,那这 阅读全文
posted @ 2019-05-17 10:48 brave-sailor 阅读(1224) 评论(0) 推荐(0) 编辑