Class
文章平均质量分 80
夕阳下的守望者
我不生产代码,我只是代码的搬运工
展开
-
iOS开发 NSFileManager的基本使用
一.NSFileManager介绍1.NSFileManager是iOS中的文件管理类2.NSFileManager可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等)二.NSFileManager方法1.判断文件是否存在//创建文件管理对象//调用defaultManager 创建一个文件管理的单例对象//单例对象:在程序运行期间,只有一个对象存在NSFileMan原创 2017-08-01 18:04:23 · 1538 阅读 · 0 评论 -
iOS开发 MFMailComposeViewController(发送邮件)的使用
一.需要导入messageUI.Frameworks(#import)二.步骤:if MFMailComposeViewController.canSendMail() { let mailCompose = MFMailComposeViewController() // 收邮件人 mailCompose.setToRecipients(["toRecipient原创 2017-08-09 17:55:03 · 1133 阅读 · 0 评论 -
iOS开发 AudioServices(音效播放)的使用
一.介绍AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Sound Service是一种简单、底层的声音播放服务,但是它本身也存在着一些限制:音频播放时间不能超过30s数据必须是PCM或者IMA4格式音频文件必须打包成.caf、.aif、.wav中的一种(注原创 2017-08-21 17:23:43 · 1995 阅读 · 0 评论 -
iOS开发 MPMoviePlayerController和MPMoviePlayerViewController(视频播放)的使用
一.介绍1.iOS9之前,iOS播放视频文件一般使用MPMoviePlayerViewController和 MPMoviePlayerController2.MPMoviePlayerViewController继承自UIViewController,MPMoviePlayerController继承NSObject3.MPMoviePlayerViewController里面包含了原创 2017-08-10 17:07:19 · 2051 阅读 · 0 评论 -
iOS开发 AVPlayerViewController(视频播放)的使用
一.介绍1.在iOS9中MPMovieplayerController已经被废弃了,用来替代的是AVPlayerViewController原创 2017-08-14 17:48:54 · 859 阅读 · 0 评论 -
iOS开发UIBezierPath的详细介绍
使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。1.UIBezierPath基础 UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直线段去创建矩原创 2017-05-18 15:48:58 · 610 阅读 · 0 评论 -
iOS开发 CGContextRef画图使用
1.创建画布CGContextRef ctx = UIGraphicsGetCurrentContext();2.设置属性//旋转,注意:设置操作必须要在添加图形之前,如果设置在添加图形之后的话,此时它已经画完了,无效//旋转的时候,是整个layer都旋转了//旋转45度CGContextRotateCTM(ctx, M_PI_4);//缩放:x方向缩放0.5倍,y方向缩放1.原创 2017-08-29 17:33:16 · 1015 阅读 · 0 评论 -
iOS开发 pdf文档显示和预览
前言在我们的开发中,有些像电子书类型的app的开发会涉及到pdf文档的加载与展示。由于笔者项目中正好涉及到这块,于是将pdf常用的几种加载方式做个总结。以供后面可能用到的同学做个参考。正文通常我们用到的pdf文档的加载方式有4种:UIWebView加载本地或者网络pdf文档QLPreviewController加载pdf文档用CGContext画pdf文档,并结合U原创 2017-11-02 15:39:08 · 4560 阅读 · 0 评论 -
iOS开发 Block与property
C语言内存分配Objective-C从名字来看就可以知道是一门超C语言,所以了解C语言的内存模型对于理解Objective-C的内存管理有很大的帮助。C语言内存模型图如下:从图中可以看出内存被分成了5个区,每个区存储的内容如下:栈区(stack):存放函数的参数值、局部变量的值等,由编译器自动分配释放,通常在函数执行结束后就释放了,其操作方式类似数据结构中的栈。栈内存分配运算内置于处理器的指令集,...原创 2018-04-10 16:35:29 · 406 阅读 · 0 评论 -
iOS开发 MFMessageComposeViewController(发送短信)的使用
一.需要导入messageUI.Frameworks(#import)二.步骤:if NSClassFromString("MFMessageComposeViewController") != nil { if MFMessageComposeViewController.canSendText() { let messageCompose = MFMessageC原创 2017-08-08 18:07:44 · 1850 阅读 · 0 评论 -
iOS开发 单例的创建
一.注意:如果不重写allocWithZone和copyWithZone的话,在调用alloc和init或者new时,会创建除单利对象外的另一个对象,这个可以通过打印对象的内存地址观察,所以注意需要复写这两个方法二.代码演示:1.OC版:static Person *person;+ (instancetype)shareInstance{ static dispatc原创 2017-08-03 18:00:09 · 210 阅读 · 0 评论 -
iOS开发 GCD一些常用的方法
1.创建主线程(串行)dispatch_async(dispatch_get_main_queue(), ^{ //刷新界面代码 });2.创建异步线程(并行)dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //比较耗时的代码放这里原创 2017-06-27 18:10:55 · 340 阅读 · 0 评论 -
iOS开发 CLPlacemark属性介绍
1.初始化:/* * initWithPlacemark: * * Discussion: * Initialize a newly allocated placemark from another placemark, copying its data. */- (instancetype)initWithPlacemark:(CLPlacemark *) placemark原创 2017-07-12 13:39:17 · 2657 阅读 · 0 评论 -
iOS开发 UIView常见属性
UIView : UIResponder/** * 通过一个frame来初始化一个UI控件 */- (id)initWithFrame:(CGRect)frame;// YES:能够跟用户进行交互@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default原创 2017-06-19 14:57:19 · 329 阅读 · 0 评论 -
iOS开发AssetsLibrary的介绍
一.概要在iOS8之前,开发者只能使用AssetsLibrary框架来访问设备的照片和视频.而在iOS8之后,苹果提供了PhotoKit框架.一个可以让应用更好地与设备照片库对接的框架二.AssetsLibrary组成介绍 AssetsLibrary中的的类都是以AL开头的1.ALAssetsLibrary:代表整个设备中的照片和视频,通过ALAssetsLibrary可以获取原创 2016-08-19 15:01:30 · 550 阅读 · 0 评论 -
iOS开发Core Animation的CATextLayer的使用
CATextLayer提供了简单的文本布局 文本渲染的图层类一.属性@property(nullable, copy) id string;文本只能是NSString或者NSAttributedString.默认为nil@property(nullable) CFTypeRef font;字体可以是CTFontRef,CGFontRef 或者字符串命名的字体.默认为Helvet原创 2015-02-05 11:20:22 · 468 阅读 · 0 评论 -
iOS开发 根据正则表达式谓词(NSPredicate)判断邮箱,手机号码,身份证...
最近在做一个项目,其中有一些需要自己判断是否输入正确以否,比如手机号,邮箱,还有其他等等一.NSPredicate的基本语法1.比较运算符:=、==、>=、=>、、=、==:判断两个表达式是否相等,在谓词中=和==是相同的意思都是判断,而没有赋值这一说NSNumber *testNumber = @123; NSPredicate *predicate = [NSPredi原创 2015-02-28 13:58:34 · 2896 阅读 · 1 评论 -
iOS开发富文本NSAttributedString属性
// // NSAttributedString.h // UIKit // // Copyright (c) 2011-2015 Apple Inc. All rights reserved. // #import #import /************************ Attributes ********************原创 2016-07-28 13:40:33 · 1581 阅读 · 0 评论 -
iOS开发 UIReferenceLibraryViewController(词典)的使用
UIReferenceLibraryViewController能够实现在自己的应用中使用字典查询词语的含义.使用:if ([UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:@"country"]) { UIReferenceLibraryViewController *refer = [[UIRefer原创 2017-08-07 15:59:32 · 878 阅读 · 0 评论 -
iOS开发 UIFont的基本使用
一.UIFont获取family字体for fontfamilyname in UIFont.familyNames { print(fontfamilyname) let fontNames = UIFont.fontNames(forFamilyName: fontfamilyname) for fontName in fontNames { pri原创 2017-08-02 18:03:42 · 1253 阅读 · 0 评论 -
iOS 质量保障工具集
每个App自开发到上线需要经历多个阶段,每个阶段都要把握质量。作为iOS开发者除了从代码规范入手,我们也要从其他多方面提升质量。本文就介绍几款可以提升iOS质量开发的工具。git-flow由于git管理代码版本的灵活性有时会导致版本冲突、代码混乱等问题。为了更好的管理代码,大部分公司都推崇git flow的工作流程,git-flow就是为了实现这套流程的一系列git扩展命令。git-flow 并不...原创 2018-04-16 18:07:16 · 297 阅读 · 0 评论