自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

番薯大佬的专栏

快乐学习、快乐分享

  • 博客(63)
  • 资源 (53)
  • 收藏
  • 关注

原创 iOS中音频的录制与播放(本地音频文件的播放)

iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放、停止播放等的操作。在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播放B音频时,停止播放A音频。在我的封装类中,已经对这方面做了处理。Demo下载地址音频开发注意事项1、录音功能主要使用到"AVAudioRecorder"类2、音频

2016-04-29 11:02:27 4333

原创 iOS语音书写功能(语音转文本)

Demo下载地址最近在项目开发中,需要将语音识别转换成文本的功能。研究了下科大讯飞,附上Demo分享给大家。研发前先得做一些准备。1、注册科大讯飞开发者帐号(http://www.xfyun.cn)2、下载开发平台(iOS、或android,或其他)所需要的SDK(SDK包含:说明文档、SDK即iflyMSC.framework、Demo)3、项目中添加SDK(添加时,先将SD

2016-04-28 17:44:47 8346

转载 iOS 平台如何使用 TestFlight 进行 Beta 测试

iOS 平台如何使用 TestFlight 进行 Beta 测试使用 TestFlight,你可以向测试人员发布你 App 的 prerelease 版本来收集反馈信息,为将来发布 App 的正式版做准备。现在 TestFlight 是一个可选功能,你也可以不使用它,而是像以往发布 App 那样直接提交到 appStore。TestFlight 使用起来很容易,还是免费的,不妨把它

2016-04-26 13:58:26 2803

原创 Java开发环境配置

下载java开发工具包JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html配置环境变量1、安装完成后,右击"我的电脑",点击"属性";2、选择"高级"选项卡,点击"环境变量";在"系统变量"中设置3项属性,,若已存在则点击"编辑",不存在则点击"新建"

2016-04-24 16:47:58 468

转载 Java主要特性

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。主要特性Java语言是简单的:Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那

2016-04-24 16:22:14 372

原创 Masonry适配——(4)UIScrollView的设置

UISCrollView在使用时,如果作为父视图包含多个子视图时,我们需要设置它的contentSize的大小,否则无法进行滚动显示。使用frame进行设置时,只需要令xxxScrollView.contentSize = CGSizeMake(width,height)即可,且不管是水平方向,还是垂直方向都方便设置。而当使用masonry时,应该怎么进行设置呢?因为使用masonry时,无法

2016-04-23 18:29:17 15233 2

原创 Masonry适配——(3)UILable如何设置多行显示

UILabel在使用过程中,一个重要的特性是可以进行多行显示,或者是自定义显示行数。同时呢,在设置多行显示的过程中,还可以计算出label所需要的高度。当在使用frame设置时,可以很好的计算其高度,而在使用masonry时,因为不需要设置frame,及其高度。但不管是使用frame,还是使用masonry进行设置,都需要设置显示行数属性,即 属性"numberOfLines"。那

2016-04-23 15:51:15 13672

原创 Masonry适配——(2)使用方法

1、居中设置垂直居中:make.centerY.mas_equalTo(self.window.mas_centerY)水平居中:make.centerX.mas_equalTo(self.window.mas_centerX)全屏居中:make.center.equalTo(self.window)2、边界设置上边界:make.top.equa

2016-04-23 10:43:59 6630

原创 Masonry适配——(1)使用注意事项

1、使用autolayout之前,一定要将视图添加到父视图上,否则会报错。2、使用autolayout时,不能同时对同一个视图使用mas_makeConstraints,否则会报错。3、使用autolayout时,如果非要修改约束时,可使用mas_updateConstraints进行修改更新。4、使用autolayout时,可使用mas_remakeConstraints

2016-04-23 10:41:12 595

原创 ASIHTTPRequest的使用——库文件的导入与设置

ASIHTTPRequest使用时,必须导入ASIHTTPRequest库的相关文件,同时也需要进行相关的设置。ASIHTTPRequest文件的导入有两种方法。方法一:手动添加(需要手动进行项目的相关设置)步骤一:下载源文件https://allseeing-i.com/ASIHTTPRequesthttps://github.com/pokeb/asi-ht

2016-04-17 02:13:23 2640

原创 iOS开发中的敏捷方法

敏捷开发是现在比较流行的软件开发方法。因为方法决定效率,好的方法可以大大地提高开发效率。什么是敏捷(Agile)?敏捷源于2001年美国犹他州雪鸟滑雪圣地的一次聚会,聚会是敏捷方法发起者和实践者的聚会,他们经过两天的讨论,通一份简明扼要的《敏捷宣言》,概括了一套全新的软件开发价值观,从此宣告了敏捷开发运动的开始。《敏捷宣言》是什么?《敏捷宣言》包括4个价值观和12原则。

2016-04-16 20:50:28 764

原创 iOS数据库离线缓存思路和网络层封装——网络请求基类封装

.h文件#import #import "NSObject+JTObjectMapping.h"#import "MKNetworkEngine.h"#import "SYNetworkCache.h"@interface BaseModel :NSObject///带缓存的网络请求(自定义缓存类型及缓存时间)

2016-04-16 00:11:16 1146

原创 iOS数据库离线缓存思路和网络层封装——数据缓存机制Model封装

.h文件#import #import /// 缓存策略typedef NS_ENUM(NSInteger, NetworkCacheType){   /// 无视缓存,总是请求最新的数据    NetworkCacheTypeAlways = 1,       /// 缓存过期时,才请求最新的数据

2016-04-16 00:03:28 1711

原创 iOS数据库离线缓存思路和网络层封装——数据缓存操作封装

使用说明 1关联第三方库 1-1 FMDB 1-2 LKDBHelper.h文件#import #import "LKDBHelper.h"@interface SYFMDBManager : NSObject/// 单例+ (SYFMDBManager *)shareFMDB;

2016-04-16 00:01:41 1123

原创 数据缓存——SQLite关系型数据库的使用

SQLite关系型数据库的使用 数据库(Database): 存放数据的仓库, 存放的是一张的表, 特别像Excel, Numbers, 都以表格的形式存放数据, 可以创建多张表。 常见的数据库: sqlite, MySQL, SQLServer, Oracle, Access。使用数据库,主要是因为文件读写和归档读取数据需要一次把数据全部读出来, 占用内存开销大;其次是数据库

2016-04-15 23:30:39 6273

原创 数据缓存——Plist文件的使用

Plist文件的使用 在做iOS开发时,有时候会用到plist文件进行用户设置等较小信息的存储。plist(Property List)是属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist,因此通常被称为plist文件。plist文件是xml格式的。plist文件在iOS开发中属于Write写入方式来存储信息。plist文件支持的数据类型

2016-04-15 23:27:13 2461

原创 数据缓存——NSUserDefault的使用

NSUserDefault的使用 NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认

2016-04-15 23:23:51 2349

原创 数据缓存——LKDBHelper的使用

LKDBHelper的使用 https://github.com/li6185377/LKDBHelper-SQLite-ORM LKDBHelper可以不设置sql语句的情况下,仅使用自定义Model就可以全自动的进行数据表的创建,及数据的插入、查询、更新、删除等操作。支持 NSArray,NSDictionary, ModelClass, NSNumber, NSStrin

2016-04-15 23:21:19 8190

原创 数据缓存——Keychain的使用

Keychain的使用 iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。用于储存一些私密信息,比如密码、证书等等,Keychain里保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效。同样也适用于应用之间数据共享。我们可以把KeyChain理解为一个Dictionary,所有数

2016-04-15 23:18:29 2859

原创 数据缓存——FMDB的使用

FMDB的使用 https://github.com/ccgus/fmdb FMDB是iOS平台的建立在SQLite数据库框架,以objective-c的方式封装了SQLite的C语言API。FMDB使用时更加面向对象,省去了很多麻烦、冗余的C语言代码;提供了多线程安全的数据库操作方法。 FMDB有三个主要的类1、FMDatabase:表示一个单独的SQLite数据

2016-04-15 23:13:18 1496

原创 数据缓存——CoreData的使用

CoreData的使用 1、使用到的对象(1)NSManagedObjectContext操作数据库的上下文(数据库,获取与存储),即负责应用与数据库之间的交互作用:插入数据、查询数据、删除数据(2)NSManagedObjectModel 数据库中所有表格和他们的联系(数据模型),即代表CoreData模型文件,相 当于实体 作用:添加实体的属性与类型设置,建

2016-04-15 23:11:21 4828

原创 数据缓存——NSKeyedArchiver归档(NSCoding)

NSKeyedArchiver归档(NSCoding) 归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式),特别是能够支持自定义类型对象。 一、实现1、要使的需要存储的对象实现NSCoding协议,从而使他自己满足写二进制数据的能力。即是自己具有序列化的能力。2、使用NSCoder的子类方法,实现二进制数据的动作,如读或者写。即

2016-04-15 23:06:43 1619

转载 swift控制流

1>for循环Swift 提供两种for循环形式来按照指定的次数执行一系列语句:第一是 for-in循环对一个集合里面的每个元素执行一系列语句。第二是 for 循环,用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。for initialization; condition; increment {           

2016-04-10 01:30:28 603

转载 WebRTC视频流渲染中插入图片帧

WebRTC视频流渲染中插入自己的图片帧渲染WebRTC revision 81462015年初,戴维营里上了WebRTC框架进行音视频通话项目,由于一个无聊的主意,想要在WebRTC视频聊天的过程中,在本地视频画面添加一个水印图片的渲染,但是希望不要改动代码太多,最后还是没有实现视频帧和图片的融合渲染,只测试了把一个写死的图片文件数据当成一帧数据渲染出来.这里为这个无聊的行为做个

2016-04-10 01:29:39 3244

转载 YouKu iOS笔试题二

前言收到某某同学将去youku的iOS笔试题的邮件,希望笔者能整理一下,并提供参考答案。笔者决定整理出来,并分享给大家。当然,与此同时,也想看看youku的笔试题到底有多难,也考考自己有多少料吧!本篇为第二篇,第一篇已经发布出来,请大家阅读:YouKu iOS笔试题一第二篇明显题目简单太多了,不知道优酷是不是真的笔试题就这么简单呢?5分钟之内差不多就可以做完了吧!如

2016-04-10 01:29:06 658

转载 UI测试

UI测试本文翻译自Chris Grant的《iOS9 Day-by-Day :: Day 2 :: UI Testing》(https://www.shinobicontrols.com/blog/ios9-day-by-day-day2-ui-testing)。感谢Chris Grant的辛苦工作!自动化用户界面测试在开发应用程序的时候非常有用。它可以快速检测程序中的问题。i

2016-04-10 01:28:12 793

转载 YouKu iOS笔试题一

序言最近收到某某同学将去youku的iOS笔试题的邮件,希望笔者能整理一下,并提供参考答案。笔者决定整理出来,并分享给大家。当然,与此同时,也想看看youku的笔试题到底有多难,也考考自己有多少料吧!如果所提供的参考答案有任何值得置疑的地方,请一定要在评论中指出!题照1、如何声明私有变量和私有方法?参考答案:声明私有变量可以通过@priv

2016-04-10 01:27:09 651

转载 LLDB的简单使用

程序员大部分时间都在调试,有效率的调试可以节省很多时间,下面是LLDB的简单的应用1.首先在程序中打一个断点屏幕快照 2016-03-12 上午11.11.31.png2.点击Action,点击+号,,屏幕快照 2016-03-12 上午11.12.54.png屏幕快照 2016-03-12 上午11.13.32.png

2016-04-10 01:20:16 372

转载 iOS App 生命周期

(一)App 的执行状态Not running:App 还没运行或者被系统 kill 掉了Inactive:App 运行在前台,但是不响应事件,例如来系统电话、呼出通知中心、呼出控制中心。可以理解为 App 在前台运行,但是被优先级更高的事件打断进入 Inactive 状态Active:App 在前台运行,并且响应事件Background:App 在后台,并且正在执行代码,即我们常说的

2016-04-10 01:19:04 762

转载 Swift:函数式编程学习之Thinking Functionally

前言函数式编程(functional programming)诞生已经有五十多年的历史了,因为当时硬件的局限,这种编程范式一直没有成为主流。随着现在多核心CPU的普及,这种编程范式又慢慢回到我们的视线。在我看完中国首届Swift开发者大会的视频后,被这种充满魔性的编程方式所折服。我鼓足勇气开始接触这不可思议的编程范式。这系列的文章算是我阅读《functional programming i

2016-04-10 01:17:56 462

转载 十分钟了解响应者链条(代码:swift)

十分钟了解响应者链条(代码:swift)响应者链条事件的响应用户点击屏幕产生的一个触摸事件,经过一系列的传递过程后,会找到一个最适合的视图来处理事件.找到最合适的视图控件后,就会调用控件的touches方法来作具体的时间处理.touches的默认做法是将事件顺着响应者链条向上传递,将事件交给上一个响应者处理什么是响应者链条?由多个响应者对象连接起来的链条

2016-04-10 01:17:10 683

转载 iOS之蓝牙开发

因工作的需要, 前段时间整理了一下IOS蓝牙通讯相关的东西,把整理的一个成果给大家分享一下。如果有不足的地方欢迎指正。一、项目背景      简单介绍一下我所做的东西,设备目前有四个,分别是体脂秤、血压计、血糖仪、监护仪等。从名称大家应该知道这些是什么东西了。对,没错,这些设备主要是用来测量人体的一些 数据,诸如血压血糖,脂肪等等。通过这些数据来反应用户的身体健康状况。 通过蓝牙与ipho

2016-04-10 01:16:25 1650 1

转载 swift 汉字转拼音

swift中提供了这样一个方法:public func CFStringTransform(string: CFMutableString!, _ range: UnsafeMutablePointer, _ transform: CFString!, _ reverse: Bool) -> Bool注释的大意是转换制定的字符串,并修改传进来的参数,只有指定范围内被修改,范围制定为

2016-04-10 01:09:46 1653

转载 如何制作自己的Pod库

GitHub新建自己的git repositoryNewRepository将项目clone到本地git clone git@github.com:ZHANGMRXIN/ZXCategory.gitCloneReposiorty初始化好项目,将Pod库文件建立好目录PodFileDirectory

2016-04-10 01:08:53 1438

转载 Swift高阶函数map,filter,reduce实践

Swift是一门面向协议的语言,在使用Swift时我们已经充分享受到了面向协议编程带给我们的便利,但是Swift相比Obj-C还有一个更重要的优点,那就是对函数式编程提供了很好的支持,其中Swift提供了map,filter,reduce这三个高阶函数(Higher Order function)作为对容器的支持。接下来我会介绍一下这三个函数的使用方法,算是对函数式编程的抛砖引玉,随后会使用这三个

2016-04-10 01:07:53 2429

转载 swift:基于MPMoviePlayerController的视频播放器

前言在高仿网易新闻遇到视频播放的问题,以前很少做多媒体这一块,我一向的逻辑就是想弄清楚就从零开始写。所以出于学习的目的,自己又制造了一个轮子。项目地址WLVideoPlayer-MP-, 花很大的心思加强复用性。具体效果如下。准备为了方便新同学学习多媒体视频播放的相关内容,已经把每一个步骤都打包成一个单独的工程当然,你也完全可以从Github上c

2016-04-10 01:06:57 1518

转载 Swift StateMachine源码分析

Swift StateMachine源码分析状态机的描述如下图:3@2x.pngswift的StateMachine的源码是Transporter。比较简单,只有3个文件。Event指事件,State指状态,StateMachine是状态机控制中心。1@2x.pngStatepublic class State { /// Va

2016-04-10 01:05:40 807

转载 WebViewJavascriptBridge详细使用

前言WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互。如果需要支持到iOS6之前的app,使用它是很不错的。本篇讲讲WebViewJavascriptBridge的基本原理及详细讲讲如何去使用,包括iOS端的使用和JS端的使用。经过多番百度、Google,发现WebViewJavascriptBrid

2016-04-10 01:02:56 1637

转载 UI调试神器 for ios:Reveal的使用与破解

UI调试神器 for ios:Reveal的使用与破解镇楼图移动开发这一块做的最多的无疑就是UI和交互,而UI调试也是移动开发人员经常干的一苦逼事。虽然目前iOS开发工具Xcode集成了UI调试功能(Debug View Hierarchy),但带给我们的却只有失望。接下来就如标题所见,笔者来简单介绍和使用Reveal,因为这东西使用起来并不难,所以着重讲解怎么集成

2016-04-10 01:00:07 560

原创 instancetype代替id进行实例化

本文章翻译自官方文档使用instancetype关键字作为方法的返回值,能够返回一个类的实例。比如alloc,init等方法。在一个合适的地方使用instancetype取代id将使你的代码更加安全。看下下面的代码:@interface MyObject : NSObject+ (instancetype)factoryMethodA;+ (id)factoryMethodB;

2016-04-10 00:14:26 370

DemoNSUserdefault

iOS研发中数据缓存UserDefault的使用(Demo+文档)

2016-04-17

DemoSqlite

iOS研发中数据缓存sqlite、FMDB、LKDBHelper的使用(Demo+文档)

2016-04-17

DemoKeychain

iOS研发中数据缓存keychain的使用(Demo+文档)

2016-04-17

DemoCoreData

iOS研发中数据缓存coreData的使用(Demo+文档)

2016-04-17

DemoArchivedCoding

iOS研发中数据缓存archiver归档的使用(Demo+文档)

2016-04-17

SQLite关系型数据库的使用

iOS研发中数据缓存SQLite的使用

2016-03-26

FMDB数据库使用

iOS研发中数据缓存FMDB的使用

2016-03-26

coreData使用

iOS研发中数据缓存coreData的使用

2016-03-26

Archiver归档的使用

iOS研发中数据缓存archiver归档的使用

2016-03-26

DemoMVVM架构模式

iOS开发中常用到的技术架构为MVC,但也有用到MVVM。两者主要体现在VM将业务相关逻辑进行了封装,减轻了Controller的负担。

2016-03-02

Demolimit输入限制

在iOS开发中,常会遇到输入限制的情况。本文件档整理了常用到的输入限制,如数字输入限制,长度限制等。定义的方法既有是在代理方法中使用的,也有在通知方法中使用。

2016-02-15

DemoTimeDate

iOS开发中常用到的时间类处理封装,包括各种转换格式。如NSDate转成NSString,或NSString转成NSDate,等。

2016-01-07

小方块输入框

自定义方块输入框,类似于微信支付密码的小方块输入框

2015-11-28

CollectionView的使用

UICollectionView的使用范例,即瀑布式列表的使用。

2015-11-26

iOS移动开发框架

iOS移动开发根视图开发框架设置,Demo中包括抽屉样式,tabbar样式

2015-11-04

iOS移动开发AES加解密

iOS移动开发中使用到的AES加解密技术,使用AES256位加密,解密。

2015-11-04

iOS移动开发MD5加密

iOS开发中常用到的字符串进行MD5加密,区分32位大小写加密,16位大小写加密

2015-11-04

DemoKVO_KVC

KVO即Key-Value Observing,称为键值观察者。是一种编程设计模式,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVC即Key-Value Coding,称为键值编码,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。

2014-09-03

Notification

通过使用NSNotification通知类,可以实现一对多的传递关系,同时也能很好的避免类与类之间层层递进的关系。但是必须记得在使用过程中可能出现通知会被多次接收,并执行相关的方法,避免这种情况出现必须在接收通知前先移除要接收的通知。

2014-07-11

设备闪光灯

iOS开发中,使用设备闪光灯,即打开或关闭设备的闪光灯。如开发手电筒功能,或是扫一扫功能时设置闪光灯。

2014-07-02

DemoTargetDev

一个项目多个target,通过配置不同的信息,类似多个app。

2019-02-13

demoHitTest

子视图超出父视图范围时,子视图交互也能实现响应事件。

2018-11-08

DemoSignature

使用UberSignature实现手写签名。简单易用,接口API少而简,可以设置位置和大小,也可以设置画笔颜色。

2018-07-26

ViewDeck抽屉菜单

使用第三方框架ViewDeck在项目中设置抽屉式菜单。即设置中间视图控制器,左侧视图控制器,以及右侧视图控制器。或上、下视图控制器。

2017-09-19

RESideMenu抽屉视图

使用第三方框架RESideMenu在项目中设置抽屉式菜单。即设置中间视图控制器,左侧视图控制器,以及右侧视图控制器。

2017-09-19

DemoTablePageAndFrame

计算拖动时的页码以及自动加载

2017-04-18

DemoMKWebView

web view使用的优化,使用MKWebView替换UIWebView

2016-09-23

licecap录制gif软件

录制gif软件

2016-09-09

Mac中jenkins的使用

使用jenkins进行自动化构建

2016-08-23

DemoAnimation

动画效果的实现操作

2016-08-01

DemoNetwork

iOS原生网络请求,使用session,或connection方式

2016-07-24

DemoEmailSMS

iOS APP应用中打电话,发短信,发邮件功能的实现

2016-07-15

DemoThread

多线程使用示例,包括thread,operation,GCD。

2016-07-14

DemoRecognizer

手势操作UIGestureRecognizer,或UITouch

2016-07-09

DemoNSTimer

NSTimer计时器的使用,启动,停止等操作。

2016-07-08

DemoImageTableView

自定义cell中使用添加多个图片并自适应cell高度(类型于电商平台的商品评价添加图片)

2016-07-04

DemoIceRequest

iOS开发中,使用ZeroC ICE进行网络请求。

2016-05-12

DemoRecorder

录音以及音频的播放操作处理。

2016-04-29

DemoiflyMSC

使用科大讯飞进行语音书写。

2016-04-28

DemoPlist源码文档

iOS研发中数据缓存plist的使用(Demo+文档)

2016-04-17

空空如也

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

TA关注的人

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