自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 再探KVO

KVO(Key-Value-Observing)键值观察 监听property的变化 通知某些对象(观察者)关于其他对象属性值发生变化的一种机制.优缺点优点性能好[开销相对于NSNotification和委托更小(只用存取方法来修改实例变量,不需要额外成本)]; 容易实现视图组件和数据模型的分离,模型类的简洁;缺点回调方法中传递的代表变化的字典,用起来繁琐;bug难解决(会制造

2017-04-05 11:20:52 759

原创 iOS报错篇

将平时遇到的一些报错问题整理成篇.14th,March,2017process launch failed: failed to get the task for process分析: 证书问题。 解决方法: Build Setting -> Code Signing将证书从iOS Distribution改成Developer类型 参考资料: iOS 报错:process launch fai

2017-03-14 10:54:56 551

原创 UINavigationController笔记

3rd,March,2017概述UINavigationController继承UIViewController, 是一个特殊的视图控制器,具有层级结构,用于管理一组具有层级结构的视图控制器(通过viewControllers 属性维持这组视图控制器)。UINavigationController维持着视图控制器栈,通过入栈和出栈更改最顶层的视图控制器。viewContoller数组中的第一个视图控

2017-03-06 16:46:42 660

原创 初探iOS闭包实现Block

声明示例大多是从AFNetworking中节取的,也可以参考这里How Do I Declare a Block: // 1.typedeftypedef void (^AFNetworkReachabilityStatusBlock)(AFNetworkReachabilityStatus status);// 2.声明为变量int (^myBlock)(int) = ^(int num){

2017-02-16 11:42:39 1152

原创 初探iOS单元测试XCTest

测试基本流程添加单元测试创建项目时勾选Inclue Unit Tests .忘了勾选可通过创建File–>new–>target–>iOS–>iOS Unit Testing Bundle。默认单元测试文件继承XCTestCase,默认的方法有4个: 1. setUp(每个测试方法调用前执行, 在执行完父类方法后添加自定义配置); 2. tearDown(每个测试方法调用后执行,在执行父类

2017-02-06 11:47:48 1290

原创 iOS贝塞尔曲线UIBezierPath

[todo] 使用Core Graphics函数去修改path ,涉及属性@property(nonatomic) CGPathRef CGPath;简介贝塞尔(Bezier)曲线,应用于二维图形应用的数学曲线,依据四个位置任意的点坐标绘制出一条光滑曲线。由线段和节点组成,节点是可拖动的节点,线段像可伸缩的皮筋。通过控制起始点,终止点以及两个相互分离的中间点来绘制图形。皮筋效应: 随着点有规律的移动

2017-01-10 13:51:53 3553 1

原创 Masonry

6th,Jan,2016前言在做一个实战:聊天界面搭建的过程中,使用到Masonry辅助布局。然后去github 上面找到了该框架,这个库的使用率还是蛮高的,该库现在还在维护,十天前还有代码更新,github上面的介绍:这是一个轻量型的代码自动布局的第三方库。特色:在NSLayoutConstraint的基础上进行封装,NSLayoutConstraint能实现的Masonry都能实现。语法更加

2016-12-13 11:04:37 1087

原创 iOS布局

ScrollView全屏布局方法: 设置UIViewController的automaticallyAdjustsScrollViewInsets. 该属性会依据viewController所处的环境(是否有navigationBar或者tabBar之类的bar), 在UIViewController的view moveToWindow的时候,自动设置scrollView的 contentIns

2016-12-12 14:14:23 341

原创 iOS实践

11st,Nov,2016修改项目名称左边导航栏第一列: 选择项目名称,编辑相求项目名称”a” —> “b” 点击enter,弹窗,点击确定。将项目文件夹名称修改: “a” —> “b”进入工程所在文件夹,修改文件夹名称”a” —> “b” ,编译出错,点击对应文件夹,修改对应的资源文件夹路径(右边导航栏第一列)编译后出错提示”InfoList”目录不对。 全局搜索InfoPlist定位到对

2016-11-15 12:36:35 484

原创 iOS多线程学习笔记

iOS多线程NSThreadNSOperationGCD锁机制NSLock同步锁synchronized代码块GCD中dispatch_semaphore_t信号量小结并发编程概述基础定义基础算法TODO并发防御原则小结参考资料7th,Dec,2015iOS多线程 “iOS中多线程使用并不复杂,关键是如何控制好各个线程的执行顺序、处理好资源竞争问题。”–KenShi

2016-11-11 11:23:48 836

原创 UIView动画初探

UIView动画属性@property(nonatomic) CGRect frame;// 大小变化@property(nonatomic) CGRect bounds;// 拉伸变化@property(nonatomic) CGPoint center;// 位置修改@property(nonatomic) CGAffineTransform transform;// 旋转@proper

2016-10-17 23:55:00 682

原创 分辨好坏代码

r: 未完待续,明天继续概念坏代码在想知道什么是好代码之前,先认识下什么是坏代码.知其而后懂避之. 1.各种错综复杂的逻辑. 2.实现新需求时或者修改原有功能时,出现莫名其妙的bug; 3.意义不明,意义不明的代码会导致你盯着看了很久却不知道实现了什么.好代码好的编码规范1). 关于注释,偏向于写注释,虽然也有接触过有的文章建议尽量让代码友好到不需要注释,但个人还是偏向于在写友好代码的基础上写

2016-10-17 22:08:55 1279

原创 UIDatePicker

概述:应用场景: 1. 时间选择器; 2. 倒计时界面。使用:1.创建UIDatePicker; 2. 配置; 3.设置事件。创建时间选择器UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame: frame];配置datePicker.backgroundColor = [UIColor whiteColor]; //设

2016-10-12 17:19:03 564

原创 基于UIWebView混合编程

未完待续…… r: 终于接触到混合编程的项目,记录下对混合编程的学习过程与理解简介UIWebView可以加载网页,还可以加载html、pdf、txt等多种格式文件. 混合编程: 指同时使用原生控件和UIWebview展示页面.唐巧在《iOS开发进阶》中说道: 合理的使用该方案,即可以保证页面的流程交互效果,又有Web页面良好的动态更新和多平台复用的优势.应用场景: 1. 页面排版复杂,

2016-10-08 23:38:09 829

原创 Photos.framework学习笔记

23th,Sep,2016 r: 感觉这篇博客会比较长,每一块慢慢补了。概述iOS8.0中引入了新的框架Photos.framework取代AssetsLibrary进行用户照片库图片资源的获取 1. 导入Photos.framework 2. 调用该框架 #import <Photos/Photos.h>框架结构初探PHAsset: 代表照片库中的一个资源,用以提供资源的元数据。跟 ALA

2016-09-23 16:53:57 628

原创 UIViewController学习笔记

UIViewController : UIResponder:NSObject A view controller manages a set of views that make up a portion of your app’s user interface. It is responsible for loading and disposing of those views, for m

2016-09-21 17:56:34 549

原创 iOS--ViewController转场

前言看到seedante的转场文章iOS 视图控制器转场详解,有兴趣就跟着学习咯.转场协议// UIViewControllerTransitioning.h// 1. 转场代理(required),提供动画控制器与交互控制器@protocol UIViewControllerTransitioningDelegate <NSObject>// 2. 转场上下文(required),提供转场过

2016-09-21 14:25:12 616

原创 iOS-Interface Builder小技巧

18th,September,2016TipsEditor->Size to Fit Content ( ⌘=) 1)ImageView: 设置成图片的原始大小;2)label/button: 会设置成跟文字相当的大小。 3) viewOption键 选择一个控件,按options键可以移动鼠标查看其他view与选中的控件的一些距离数据。IBOutletCollection排序Iden

2016-09-18 16:05:14 553

原创 iOS网络监测

13th,September,2016 获取网络状态AFNetworkReachabilityManager *reachabilityManager = [AFNetworkReachabilityManager sharedManager]; if (!reachabilityManager.reachable) { failedResponse(@"网络无法连接");

2016-09-13 18:14:51 425

原创 UIImageView学习笔记

12th,September,2016ContentModetypedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. re

2016-09-12 16:24:50 446

原创 iOS键盘回收

12th,September,2016说在前面键盘回收可以说是开发中蛮常见的一个功能,基本上有涉及到文本编辑就会有键盘的相应处理。那就总结下几种键盘回收吧回收键盘- (void)resignFirstResponder; // 回收键盘问题写在前面[诡异问题1] 在实现添加swipe手势时,设置direction为上下,或者左右可以识别,但是当direction为上下左右时只能识别到左右轻扫手势,无

2016-09-12 11:35:12 435

原创 UIGestureRecognizer学习笔记

12th,September,2016概述UIKit-UIGestureRecognizer–苹果开发文档 UIGestureRecognizer是具体手势识别器的抽象基类。具体的子类有: UITapGestureRecognizer // 点按 UIPinchGestureRecognizer // 捏合,比如图片的缩放 UIRotationGestureRecognizer // 旋转

2016-09-12 10:56:32 364

原创 MBProgressHUD

11st,September,2016 Version 1.0.0 github地址 MBProgressHUD is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The

2016-09-11 18:04:52 1109

原创 iOS数字转汉字

7th,September,2016NSNumberFormatterNSNumberFormatter *nf = [[NSNumberFormatter alloc] init];nf.numberStyle = kCFNumberFormatterRoundHalfDown;NSString *string = [formatter stringFromNumber:[NSNumber n

2016-09-09 11:15:40 2650

原创 iOS计算文本高度

简介iOS7.0以前使用-sizeWithFont: constrainedToSize: lineBreakMode计算高度,iOS7.0以后通过-boundingRectWithSize:options:attributes:contenxt计算高度boundingRectWithSize// NOTE: All of the following methods will default to

2016-09-05 10:58:51 1597

原创 iOS问题列表

前言一些诡异的问题,目前毫无思路,先放着可能哪一天以后的自己就可以解答。也欢迎交流指点下。问题列表stringByReplacingOccurrencesOfString去除空格失败30th,August,2016 为什么打印stripSpaceText存在空格,而将newText赋给textStr后,再进行去除就可以了。 UITextRange *selectedRange = [text

2016-08-30 10:19:46 465

原创 Mac常用工具

19th,August,2016说在前面每天至少有8个小时在电脑前,那么经常使用到的非常优秀的工具,以及新下载的工具,记录一下吧。并且我讨厌在电脑上安装很多软件,所以留下来的每一个都有一定的道理。[todo]有空应该把已安装的整理出来。SourceTree官网: SourceTree 下载地址: Download SourceTree For Mac A free Git & Mercuria

2016-08-19 09:47:18 469

原创 iOS基础之define,const,extern,static

16th,August,2016define VS const宏(define)跟常量(const)的区别:宏是做预编译处理,但不会检查,只是做简单的替换操作。大量的宏需做大量的替换工作导致编译时间久,且没有类型安全检查,在替换过程中可能会产生意想不到的错误。且宏在一些情况下会消耗比较多的内存。因而,苹果不推荐使用宏,推荐使用const。 const会编译检查,也会报编译错误,即做类型安全检查工作

2016-08-17 15:33:02 1293

原创 安装与使用Cocoapods

15th,August,2016安装 Cocoapods官网提供方式sudo gem install cocoapods 由于无法访问外网的缘故,输入该命令可能很久都没有反应。需要修改更换源。国内安装$ gem sources –remove https://rubygems.org/$ gem sources -a https://ruby.taobao.org/ // 去年也就是2015

2016-08-15 15:10:33 696

原创 Xcode插件篇之XVim

10th,August,2016前言有段时间不用XVim了,但还是觉得不适应。果断又重新安装了,使用Vim的一个后遗症除了不想按上下左右,有时连Enter换行都不是很想按。顺便整理个插件篇,将使用到的插件都整理到这里。XVimgithub地址安装将项目拉下来,随便什么方式。download zip/git cloneTerminal进入项目所在目录,make编译重启Xcode, 会弹框询问是否

2016-08-10 10:26:33 572

原创 AFNetworking3.0学习笔记[更新中]

9th,August,2016概述 1. AFHTTPSessionManager 2. AFNetworking 3. AFNetworkReachabilityManager // 网络可达性 4. AFSecurityPolicy // 安全性 5. AFURLRequestSerialization // 请求数据序列化 6. AFURLResponseSerializatio

2016-08-09 16:27:53 1889

原创 iOS内存管理学习笔记

27th,May,2016内存管理 (add on 7th,August,2016)learn from: 《iOS开发进阶》 内存管理基于引用计数,通过引用计数管理对象的生命周期,创建一个对象引用计数为1,当一个新的指针指向这个对象时(retian,copy),引用计数加1,当某个指针不再指向这个对象时,引用计数减1,当引用计数为0时,对象就被摧毁,回收内存。内存管理机制谁创建,谁释放在Obj

2016-08-07 21:58:34 563 4

原创 iOS API更新

更新列表5th,August,2016 1. Deprecated in iOS9.0: urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; Updated: [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[N

2016-08-05 16:15:22 588

原创 OS X禁用NSTextView的引号替换

4th,August,2016问题描述在NSTextView中输入json的双引号时,输入法为英文,但显示的是中文的引号。而且在输入过程中能感觉到英文引号替换成中文引号。顺便试了下NSTextField,不存在该问题。再试了下单引号也存在该问题,而!,@,#等字符不存在该问题。 猜测:是系统对引号做了特殊处理,在输入引号的时候将输入法更改为中文输入法吗? 于是按着这个思路去查看了NSTextVi

2016-08-04 17:34:19 1541

原创 iOS网络开发学习笔记

HTTP概述超文本运输协议(Hypertext Transfer Protocol,HTTP),使用TCP作为传输层协议,是一个无状态的协议。基于请求-响应机制,有服务器端和客户端实现,定义了客户端如何向服务器端请求页面与服务器端如何将页面传送给客户端。在[RFC 1945]和[RFC 2616]中进行了定义。 1989年互联网之父 Tim Berners-Lee采用超文本技术开发出世界上第一个W

2016-08-04 10:09:15 672

原创 OS X拖拉文件获取文件路径

参考资料:苹果文档 2rd,August,2016介绍Cocoa提供了在开发的应用与其它应用间实现拖拽的相关API,分别在NSDragging.h,NSDraggingItem.h,NSDraggingSession.h中。NSDragging声明了NSDraggingSource,NSDraggingDestination,NSDraggingInfo协议@protocol NSDragging

2016-08-02 17:51:19 2033

原创 HTTPS系列之CA数字证书

数字证书的两个作用: 1. 身份验证。确保客户端访问的网站是通过CA认证的可信赖的网站 2. 分发公钥。简介PKI(Public Key Infrastructure)公钥基础设施 “遵循标准的利用公钥加密技术提供一套安全基础平台的技术和规范。支持公钥管理并能支持认证,加密,完整性和可追究性服务的基础设施“ “完整的PKI系统具有 CA, 数字证书库,密钥备份及恢复系统,

2016-07-28 14:34:52 5136 1

原创 HTTPS系列之RSA算法

简介加密算法总的可以分为两种,对称加密与非对称加密算法。 RSA是1977年三位数学家Rivest,Shamir,Adleman设计的一种非对称的加密算法,该算法破解的关键在于寻找大数的两个质数因子。大数长度越大,破解难度也就越大,目前768位的密钥已被破解,安全性建立在公钥长度足够的基础上,如iOS9中引入的新特性ATS中对公钥长度就有明确的要求,至少为2048位。 “RSA是第一个也是目前唯

2016-07-26 11:28:06 1695

原创 HTTPS系列之SSL/TLS协议

SSL/TLS协议的基本思路是采用公钥加密法–from 阮一峰 SSL/TLS协议的基本过程是这样的: (1) 客户端向服务器端索要并验证公钥。 (2) 双方协商生成”对话密钥”。 (3) 双方采用”对话密钥”进行加密通信。SSLSSL(Secure Sockets Layer 安全套接层 利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取

2016-07-25 17:56:41 669

原创 iOS基础篇

22th,July,2016前言最近越发感觉基础掌握的很差,这篇就好好记录下关于iOS那些基础吧NSString判空的几点思考NSString判空 判空第一步:一般会对该字符串进行类型判断 -isKindOfClass:[NSString class]是否为NSString的实例或继承自NSString的任意类实例。也就是声明为NSString类型后,该变量的类型不一定是NSString(r:

2016-07-22 14:55:20 863

空空如也

空空如也

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

TA关注的人

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