自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

止于至善

求诸所愿,皆得满足!

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 Predicate

苹果官方的描述Predicates是在Cocoa中的一种查询格式,可以用于大量数据时候的查询操作,包含Core Data和 Spotlight中;通过我们过滤数据的方式是通过一个循环,在循环中建立过滤条件,然后对过滤的数据进行操作,或者增加到一个新的容器当中,例如新建一个Array;在iOS中有一种更加优雅的方式来实现,通过Predicate,建立一个模式,然后对数据进行模式匹配,筛选出符合条件的数据。

2023-01-29 14:36:57 218

原创 Typora+upic的配置

本机配置来多个上传方式,其中gitee是失败的,默认使用了gitee,切换到github下面即可;本人使用的是Mac book 的M1芯片电脑,为了方便写博客,整理了图片上传的方式;upic是一款上传图片的工具,主要为了帮助写博客上传工具使用的,方便上传图片;七牛的配置的局限性,如下,因为七牛服务的局限性;因为本机连接了代理,需要取消代理即可;github的上传就特别的简单。

2023-01-09 19:25:37 437

原创 markdown合并单元格

markdown

2023-01-06 18:36:33 1301

原创 Git stash

git stash

2023-01-06 10:52:26 262

原创 shell使用小Tip

shell的启动Path配置

2023-01-04 18:11:35 54

原创 awk编辑器提取文本内容

awk编辑器提取文本内容

2023-01-03 20:41:23 802

原创 iOS AudioQueue实现音频的录制和播放(附Demo)

#基于AudioQueue实现音频的录制和播放文章目录背景总览Audio Queue 架构AudioQueueBuffer数据结构创建`AudioQueueBuffer`释放 `AudioQueueBuffer`Buffer Queue 和EnqueuingAudio Queue Callback音频录制创建一个录音 AudioQueue 的示例音频播放播放流程说明通过AudioQueue来控制音频的播放Audio Queue 的控制和状态Audio Queue 运行状态的监控demo地址参考文献背景

2022-02-18 14:37:11 1024

原创 HTTP的三次握手和四次挥手

HTTP的三次握手和四次挥手学过网络的都知道,http的传输是基于TCP协议的,建立连接需要三次握手,结束连接需要四次挥手,那么具体过程是什么样子呢? 中间经历哪些状态呢?TCP报文的头结构概念说明:SYN: 同步字段,等待确认;ACK: 确认字段,建立连接后ACK=1;seq: 请求序号;ack: 确认序号,等于SYN发送的 seq+1;FIN:终止字段,FIN=1表示释放一个连接;1.三次握手;连接状态:CLOSED: 表示初始状态;LISEN:服务端的某个SOCKET处于监

2020-05-21 18:27:59 369

原创 iOS 封装一个Mutipart网络请求

文章目录什么是Mutipart网络请求什么条件下需要自己拼装mutipart网络请求基于AFNetwoking的mutipart网络请求代码示例代码示例#iOS 自己拼装Multipart网络请求什么是Mutipart网络请求mutipart网络请求是一种post网络请求,主要用来上传大文件,如图片、音视频数据等;什么条件下需要自己拼装mutipart网络请求一般的项目中我们的网络请求都...

2020-03-11 11:56:12 324

原创 UICollectionview使用装饰decorationView

自定collectionview的装饰视图先来看一下效果图图中树的部分就是通过装饰来实现的;要想实现图中树杈部分的UI,如果通过传统的方式很难实现,只能写死一部分UI来实现这样的效果,但是通过collectionview的decorationView就可以轻松的实现这种效果;先上代码步骤3:[self registerClass:[ShelfView class] forDecora...

2019-10-31 21:00:51 950

原创 使用Audio Queue播放pcm流

#使用Audio Queue播放pcm流因为项目的原因,需要实现播放pcm流的播放器,对于iOS传统的播放器AvPlayer等音频播放器无法满足需求,这个时候需要使用更加底层播放器,Audio quue;介绍audio queue推荐官方文档:About Audio Queues使用音频队列需要先数显几个概念:Audio Queue: 音频队列是调度音频队列的主体,负责调度整个播放过程的逻...

2019-10-30 20:30:14 514

原创 音视频直播总结

采集 -> 处理 -> 编码 -> 封装 -> 推流 -> 分发采集: 视频 YUV音频:PCM处理:磨皮,美白,会涉及到人脸识别技术和皮肤识别技术;编码:压缩编码,根据前后帧的特点可以实现压缩;连续几个帧放在一起就形成了组GOP,将该组分为I/B/P,I表示为关键帧,B表示为双向参考帧,P表示为向前参考帧,如果没有I帧,B,P帧也是没法播放的,因为B,...

2019-06-12 14:55:01 5594 3

原创 新的blog地址

使用hexo +github搭建了自己的blog,欢迎访问!地址:https://lindreaming.github.io/

2018-10-11 15:04:44 525

原创 PostMan设置全局变量

给postMan 设置全局变量1.通过{{}} 双大括号可以实现对变量的引用; 2.需要在请求的Test里面设置好要设置的全局变量:let json = JSON.parse(responseBody);//声明一个变量json,将JSON返回Body里面的值解析并给变量json tests["a"] = responseBody.has("0");//设置一个断言 pm.glob...

2018-08-23 11:14:14 1767

原创 iOS开发项目总结

webview开发过程中踩到的坑;1.webview关闭时关闭音频声音的问题; 一开始采取的时候采取@"about:blank"的方式关闭,发现在出现webview跳转后goback回来的时候加载之前的空白页,所以这个方法有局限性; 2.采用与JS交互的方法; 在页面关闭之前,直接调用JS关闭视频播放的方法,实现音频播放的关闭;音频播放控制的问题1.音频循环播放的问题; 通过监...

2018-07-17 20:02:31 1082

原创 Tableview自适应展示

设置UITableView自动计算高度设置tableview的样式- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 0.01;}- (CGFloat)tableView:(UITableView *)tabl...

2018-07-02 16:34:17 855 1

原创 iOS webview的截屏功能

iOS webview实现截屏的功能 项目的应用场景实现网页的截屏功能用于分享到微信图片,类似于分享证书等,代码如下- (UIImage *)createImageWithView:(UIView *)view{ CGSize s = view.bounds.size; //第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示...

2018-06-27 10:24:40 1452

原创 iPhone无线调试

无线调试通过无线调试可以避免频繁的插拔线可以节省手机的电池,毕竟手机电池一直连接电脑是伤害电池的,对于用自己手机调试的同学还是值得注意的那么怎么进行调试呢?color:orange> 先通过有线的形式让手机和mac连接选择show as run destination 这个时候拔掉数据线选择左侧的设备,右键选择connect via IP address输入手机的ip...

2018-06-07 18:07:58 1131

原创 Xode执行脚本打包

Xcode命令行和脚本关联执行打包 执行以下命令即可 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

2018-06-07 18:03:56 293

原创 iOS Native录音+web交互

主要流程:1.创建音频路径,位置放在document文件夹下; 2.通过AVAudioseesion来设置录音时的背景声音,需要设置背景声音为静音,这样方便录音; 3.设置录音时候需要的一些参数,包含通道,采样率,音频质量,音频格式等; 4.控制录音;包含开始录音和结束录音的动作; 5.将录音生成的文件转化成Mp3的文件,Mp3转化相当于将之前的音频再次做一次采样,生成的Mp3文件会更...

2018-05-17 16:53:42 1470

原创 LaunchScreen.storyboard 启动页设置图片不显示 启动页白屏

问题描述:修改完launchScreen的启动图之后发现加载还是之前的图片? 问题解决思路:以为是缓存的问题,通过重启Xcode,删除掉APP重新安装,cleanXcode 发现 It don’t work; 那怎么办呢? 通过在网上搜索找到了解决方法: 1.修改启动图的图片名称; 2.将图片的目录放在文件的目录下面(如果放在Assets.xcassets中需要移动)。评估:这个应该...

2018-02-28 18:04:15 11488

原创 iOS中检测当前设备的旋转方向(关闭屏幕旋转)

首先添加CoreMotion.frameWork 框架在代码中配置基本的信息#import <CoreMotion/CoreMotion.h>// 创始化状态,添加Queue来检测状态- (void)startMotionManager{ if (_cmotionManager == nil) { _cmotionManager = [[CMMotionManager al

2017-12-19 21:41:33 2966

原创 iOS中webview加载pdf文件出现黑屏的问题

项目开发的过程中,当加载完成一个pdf文件的过程后,常常会出现黑屏的情况; 原因是webview调用-webViewDidFinishLoad: 后负责渲染pdf文件的UIWebPDFView还没有加载完成,所有想除掉黑色背景可以在-(void)viewDidLayoutSubviews 中或者- (void)webView:(WKWebView *)webView didFinishNavig

2017-11-30 15:53:27 3634

转载 makeObjectsPerformSelector 方法的用法

NSArray 类定义的方法makeObjectsPerformSelector:@select(aMethod)简介:让数组中的每个元素 都调用 aMethod makeObjectsPerformSelector:@select(aMethod)      withObject:oneObject简介:让数组中的每个元素 都调用 aMethod 并把 with

2017-10-16 10:40:41 367

原创 命令行转义

命令行中空格的转义:使用斜杠’\’+空格 = 空格,实现转义。

2017-10-09 10:04:51 3718

原创 UILable通过drawTextInRect修改文字间距

重写UIlable的drawTextInRect Method,然后设置UIEdgeInsets。- (void)drawTextInRect:(CGRect)rect{ UIEdgeInsets insets = {0, 5, 0, 15}; [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];}

2017-08-18 14:34:44 2094

原创 iOS学习资料

WWDC视频: https://developer.apple.com/videos/raywenderlich: https://www.raywenderlich.com/category/ios

2017-08-16 16:57:21 601

原创 自定义UICollectionViewlayout

在iOS开发中,UICollectionView的作用主要的作用是用来展示格子样式的数据,相比于TableView,collectionView的布局更加的灵活,它可以通过自定义UICollectionViewLayout,来实现我们需要的UI效果。在iOS开发中,UICollectionView的作用主要的作用是用来展示格子样式的数据,相比于TableView,collectionView的布局更

2017-08-14 18:10:11 608

原创 iOS应用内跳转到系统设置页面

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。设置跳转有三种方式,每一种的使用场景都不同。 并且你在跳转到系统中自己应用下面设置的时候,你的应用要提前至少申请了某一个权限,如通知,定位等。否则,会引起崩溃。方式一:prefs:root=某项服务方式二:prefs:root=bundleID方式三: UIApplicationOpen

2017-08-03 12:24:27 713

翻译 Alamofire的使用教程

环境:Alamofire 4, Xcode 8.2, iOS 10, and Swift 3. Alamofire是一个基于HTTP的网络请求库,适用于iOS和OSX,针对apple的基本网络请求库作了封装,简化网络请求的复杂逻辑。 Alamofire提供了request/response方法,JSON参数形式,序列化功能,以及authentication等许多特性。在本篇文章中,你可以学到通过

2017-07-27 16:25:17 2677

原创 Swift加载带导航条的WebView

Webview是iOS开发中常用的控件,加载webview的时候常常需要一段等待时间,特别是网络条件差的时候,这时候加载一个带导航的webview能很好的提高用户体验,下面的例子演示使用WKWebview自定义一个导航条加载一个webView,WKWebview是iOS8时推出的,相比以前的UIWebview控制的更加精细,功能也更多,支持更多的HTML5特性,支持动态加载JS代码,感兴趣的可以看这

2017-07-25 18:17:32 1214

原创 ScrolView的Autolayout约束

在使用autoLayout的时候,针对一般的view只需要添加四个位置信息便可以确定一个view的位置了;但是因为scrolView本身控件的特殊性,我们设置的约束只是控制了scrollView的Frame。如果scrollView想要滑动,我们还要设置scrollView的ContentSize,在使用代码的时候的时候我们可以通过代码来实现,非常的简单;- (void)viewDidLoad {

2017-07-24 17:03:35 673

原创 NSTimer的使用(精简)

简述:NSTimer是iOS系统的计时控件,下面介绍NSTimer的使用,简单详细: 1. Timer的开启:+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block 创建一个timer对象,

2017-07-14 14:57:17 424

转载 UML类图与类的关系详解

在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。 基本概念类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要

2017-06-15 16:54:39 510

翻译 设计模式——算法封装

模板方法模板方法模式:定义一个操作中算法的架构,而将一些步骤延迟到子类中。模板方法使子类可以重定义算法的某些特定步骤而不改变该算法的结构;使用场景需要一次性实现算法的不变部分,可将可变的行为留给子类来实现;子类的共同行为应该被提取出来放在公共类中,以避免代码重复。 现有代码的差别应该被分离为新的操作,然后用一个调用这些新操作的模版方法来替代这些不同的代码; 3.需要控制子类的扩展。可以定义一

2017-05-25 18:36:35 3060

翻译 设计模式——行为扩展

访问者访问者模式:表示一个作用于某对象结构中各元素的操作。它让我们可以在不改变各元素的前提下定义作用于这些元素的新操作;使用场景1.一个复杂的对象结构包含很多其它对象,它们有不同的接口,但是相对这些对象实施一些依赖于其具体类型的操作; 2.需要对一个组合结构中的对象进行许多不相关的操作,但是不想让这些操作“污染”这些对象的类。 3.定义复杂结构的类很少做修改,但经常需要向其添加新的操作;装饰装饰

2017-05-25 18:35:48 619

翻译 设计模式 ——抽象集合

组合组合模式:将对象组合成树形结构以表示“整体-部分”的层次结构。组合使得用户对单个对象和组合对象的使用具有一致性。使用场景想获得对象抽象的树形表示(部分-整体层次结构);想让客户端统一处理组合结构中的所有对象;迭代器迭代器:提供一种方法顺序访问一个聚合对象中各个元素,而不需要暴露该对象的内部表示;使用场景1.需要访问组合对象的内容,而又不暴露内部表示; 2.需要通过多种方式遍历组合对象;

2017-05-25 18:34:57 507

翻译 设计模式 ——接口适配

适配器类适配器 类适配器(adapter)是通过继承来适配两个接口;通过继承一个协议,和一个实际类(adaptee),通过重载中的协议方法,调用超类(adaptee)中的方法(specificRequest)发送【super specificRequest】方法; 只有当是协议而不是类时,类适配器才能用OC来实现;对象适配器 对象适配器(adapter)继承一个协议,与类适配器不同的是ad

2017-05-25 18:33:57 1157

原创 svn is already locked解决方案

在出错文件夹下,找到Action -> cleanup working copy locks on.即可

2017-05-25 09:29:20 520

原创 OC与Swift文件的混编

1. OC调用Swift类;a. 在工程的 Build Settings 中把 defines module 设为 YES. b.引入swift头文件,格式“projectName-filename.swift”(这个文件是系统创建的);2.Swift调用OC类;Swift代码引用OC,需依靠 Objective-C bridging header 将相关文件暴露给Swift。在Objecti

2017-05-23 10:33:31 484

DBFAudioConvert.m

iOS PCM 音频数据转化成Wav 1.传入pcm文件的地址和wav文件的地址; 2.将pcm数据转化成wav数据

2020-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除