自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NSCondition和NSConditionLock

NSCondition@interface NSCondition : NSObject NSLocking> {@private   void *_priv;}- (void)wait;//挂起线程- (BOOL)waitUntilDate:(NSDate *)limit;- (void)signal; //任意通知一个线程- (voi

2016-02-22 17:44:49 3940

原创 xcodebuild打包ipa

Xcode6之后打包IPA只有拥有证书还不够,还需要登陆账号。使用xcodebuild可以绕过账号第一:clean xcodebuild clean -projecttest.xcodeproj -configuration Release -alltargets第二:生成xcarchive文件xcodebuild archive -projecttes

2016-02-14 17:21:31 990

原创 shell grep常用选项

匹配模式:-n : 显示匹配的行和行号 (文件名 + 行内容)-v : 显示不匹配的文本的所有行 (文件名+行内容)-h : 不显示匹配行的文件 (行内容)-L : 显示不匹配的文件  (文件名) -l : 显示匹配行的文件 (文件名)-c : 显示匹配行的计数 (行数)-i :显示忽略大小写的结果-w : 显示匹配单词的结果 字符串 \ == 结尾 或

2016-02-06 14:29:12 722

原创 iOS bitcode实战

关于bitcode的介绍,直接看下边两篇:理解Bitcode:一种中间代码 Xcode 7 Bitcode的工作流程及安全性评估 大牛们已经把bitcode说的很清楚了,我结合自己的实践梳理出以下流程:主工程引用静态库有两种形式(参考:在iOS中创建静态库)①:代码依赖②:引用.a 对应的,让静态库支持bitcode也有不同的地方。先来看第一种:直接上图配置

2016-02-02 20:38:29 1003

原创 iOS 自动化生成API文档

Xcode 自带的工具 : headerdoc2html   这种自动化生成需要注释的格式为/*!*/如果不是这种格式的注释,不管怎么跑命令会报错,comment not found;第三方:Doxygen  /***/使用这个第三方工具需要注意的是,目录所在的路径中不能有中文 。否则可能会报错找不到INPUT Source 或者 outPUT so

2016-01-15 15:36:25 679

原创 NSURLSessionConfiguration API详解

一、NSURLSessionConfiguration的描述NSURLSessionConfiguration为NSURLSession配置一些请求所需要的策略。如:超时、缓存策略、链接需求的。NSURLSession会拷贝configuration。所以session一旦初始化结束就不会再更改configuration。除非初始化一个session。重要:如果

2016-01-08 15:16:07 9683

原创 dispatch_barrier_async 隐藏的坑

今天在看文档的时候无意中发现的一个坑* When submitted to a a global queue or to a queue not created with the * DISPATCH_QUEUE_CONCURRENT attribute, barrier blocks behave identically to * blocks submitted w

2015-12-11 15:10:45 2393

原创 重新认识ARC

虽然用了很久的ARC,感受了代码简洁。但是对ARC底层实现并不了解。今天抽空研究了下,做些简单地总结。一、__strong1.局部变量①.对于局部变量来说,在超出作用域的地方由编译器自动插入release。{id __strong objc = [NSObject new];}==>>  (大概转化为){id objc = objc_msgSend(objc

2015-12-02 11:09:23 990

原创 帮5买面试总结

写在前边:时间久远,个数跟次序记不清楚了,挑着印象深刻的来些。 一、笔试1.详述delegate , block , notification,KVO2.分类能否扩展属性,若能则如何实现?3.常用的设计模式有哪些,如何实现,画出UML图更佳。4.有一个无序的int数组array,将其排序,再找出比a

2015-12-02 09:34:55 795 2

原创 Swift Protocol optional

Objective-C中实现Protocol的可选直接使用关键字@Optional就好了。        然而在Swift中就变的比较绕了。==================Swift2.0之前========================swift实际不提供可选协议,但是为了对接Objective-C,没办法就使用@objc +optional来达到目的。具体实例参考如下

2015-11-13 15:24:56 2183

原创 Swift Selector

看了喵神的Swifter 100个必备的小tips总结下swift中不支持@selector关键字,将SEL重新定义为结构体了。但是NSSelectorFromString()依然可以使用,但是获取方法名的规则有点变动。1.不带参数的方法func normalSelector()    {        NSLog("normal")    }

2015-11-13 11:31:28 1995

原创 IOS 宏定义

看喵神的宏定义的黑魔法学到了很多,在这里总结下。一、单个“#”的使用单个“#”表示将后面紧接的参数变成 C 字符串,如 :#define Name(pro) @#pro - (void)testName {    NSLog(@"|%@|",Name(self.dataArray));}2015-10-20 11:34:45.691 Shadow[1878:71990

2015-10-20 11:43:43 963

转载 iOS-Core-Animation-Advanced-Techniques(七)

转自:FeiXu(github主页)高效绘图、图像IO以及图层性能高效绘图不必要的效率考虑往往是性能问题的万恶之源。 ——William Allan Wulf在第12章『速度的曲率』我们学习如何用Instruments来诊断Core Animation性能问题。在构建一个iOS app的时候会遇到很多潜在的性能陷阱,但是在本章我们将着眼于有关绘制的性能问题。

2015-06-23 10:47:37 1043

转载 iOS-Core-Animation-Advanced-Techniques(六)

转自:FeiXu(github主页)   基于定时器的动画和性能调优基于定时器的动画我可以指导你,但是你必须按照我说的做。 -- 骇客帝国在第10章“缓冲”中,我们研究了CAMediaTimingFunction,它是一个通过控制动画缓冲来模拟物理效果例如加速或者减速来增强现实感的东西,那么如果想更加真实地模拟物理交互或者实时根据用户输入修改

2015-06-23 10:46:21 1044

转载 iOS-Core-Animation-Advanced-Techniques(五)

转自:FeiXu(github主页) 图层时间和缓冲图层时间时间和空间最大的区别在于,时间不能被复用 -- 弗斯特梅里克在上面两章中,我们探讨了可以用CAAnimation和它的子类实现的多种图层动画。动画的发生是需要持续一段时间的,所以计时对整个概念来说至关重要。在这一章中,我们来看看CAMediaTiming,看看Core Animation是如何跟踪时间的

2015-06-23 10:39:53 754

转载 iOS-Core-Animation-Advanced-Techniques(四)

隐式动画和显式动画隐式动画按照我的意思去做,而不是我说的。 -- 埃德娜,辛普森我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情。但是动画师Core Animation库一个非常显著的特性。这一章我们来看看它是怎么做到的。具体来说,我们先来讨论框架自动完成的隐式动画(除非你明确禁用了这个功能)。事务Core Animatio

2015-06-23 10:32:58 1127

转载 iOS-Core-Animation-Advanced-Techniques(三)

专用图层复杂的组织都是专门化的--Catharine R. Stimpson到目前为止,我们已经探讨过CALayer类了,同时我们也了解到了一些非常有用的绘图和动画功能。但是Core Animation图层不仅仅能作用于图片和颜色而已。本章就会学习其他的一些图层类,进一步扩展使用Core Animation绘图的能力。CAShapeLayer在第四章『视觉效果』我们

2015-06-23 10:31:07 972

转载 iOS-Core-Animation-Advanced-Techniques(二)

视觉效果和变换(四)视觉效果嗯,园和椭圆还不错,但如果是带圆角的矩形呢?我们现在能做到那样了么?史蒂芬·乔布斯我们在第三章『图层几何学』中讨论了图层的frame,第二章『寄宿图』则讨论了图层的寄宿图。但是图层不仅仅可以是图片或是颜色的容器;还有一系列内建的特性使得创造美丽优雅的令人深刻的界面元素成为可能。在这一章,我们将会探索一些能够通过使用CALaye

2015-06-23 10:27:42 832

转载 iOS-Core-Animation-Advanced-Techniques(一)

图层树、寄宿图以及图层几何学(一)图层的树状结构巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角。Core Animation是一个复

2015-06-23 10:23:18 1227

原创 iOS键盘与NSLayoutConstraint

xcode6开始,写界面基本都是用size classes +layoutContraint了,对于一般的静态页面,使用constrain简单快速还能支持横竖屏切换,high到爆!使用constraint实现的页面在viewDidAppear之后,想做什么动画

2015-06-01 22:51:50 1641 1

原创 Copy和MutableCopy

NSObject子类对象如果想要实现拷贝,就需要实现NSCopying,NSMutableCopying协议。理论上说Copy实现的是浅拷贝:retain当前对象的指针,retainCount+1;mutableCopy实现的是深拷贝:创建新的内存空间并返回地址,retainCount = 1;个人猜测,之所以这么说因为系统的NSString,NSArray,NSDictionary等

2015-05-06 21:26:55 1768

原创 CAPropertyAnimation additive

再做一些shaking动画时,通常会指定对称的左右几个点,加入都CAKeyframeAnimation.values中。但是这就需要计算present layer的点,不太方便。看了下CAPropertyAnimation有个属性是additive,这个属性根据当前的渲染层的值加上value生成新的渲染的值,也就是动画时present layer的值。Deter

2015-05-06 14:36:35 2418

原创 IOS Data Storage

应用又被拒绝了,原因是IOS Data Storage  为了区分清楚sandbox里边各个目录的作用,我去看了下apple文档,sandbox目录介绍总结下:Documents:存放用户产生的数据,比如用户下载的视频图书,浏览记录等。但是对于位于Documents中可在生成或可重新下载的资源,必须标记为不能通过iTunes恢复的类型(NSURLIsExcludedFromBackup

2015-05-05 15:59:03 1009

原创 iOS网络开发编程之NSURLConnection详解

iOS网络层常用的库如ASIHTTPRequest,AFNetworking,MKNetworkKit等知名的第三方库。随着ASI不再更新,楼主基本上也跟着大部队用了AF。AF用的是Cocoa层的API-NSURLConnection。以前只是简简单单的用过NSURLConnection,很多相关的方法都不是很熟悉,今天抽空了系统的学习了下,晚上顺道总结下NSURLConnection的用法。

2015-03-03 21:07:40 2985

原创 iOS-关联属性Associate

iOS分类用的比较多,基本都是扩展方法,如果想要扩展属性,就要用到runtime了,使用objc_getAssociatedObjectobjc_setAssociatedObject上代码:给Test新建一个分类,关联一个属性name;#import "Test.h"#import "Property.h"@interfac

2015-02-27 23:55:48 2063

转载 CoreText基本知识

第一次比较深入接触iOS文字排版相关内容是在12年底,实现某IM项目聊天内容的图文混排,照着nimbus的AttributedLabel和Raywenderlish上的这篇文章《Core Text Tutorial for iOS: Making a Magazine App》改出了一个比较适用于聊天内容展现的图文混排(文字和表情)控件。 选择自己写而不是直接使用现有第三方库的

2015-02-13 12:49:37 780

转载 自定义容器类ViewController

什么是Container View Controller?苹果文档是这么描述的: A container view controller contains content owned by other view controllers. 也就是说一个View Controller显示的某部分内容属于另一个View Controller,那么这个View

2015-02-10 13:31:03 1730

原创 用xib自定义UIView

常用xib的基本上都是UITableViewCell,今天动手拖出来个UIView的子类。打开工程新建一个view:StoryBoardView.新建view不能创建xib,需要手动创建一个xib打开这个新建的xib。拖上去一个label,一个button,暂时别连线。拖着个xib的时候,可能第一反应就是先将这个view指向StoryBoardView,这个时候

2015-02-06 13:09:26 2362

原创 手写NSLayoutContraint

Xcode6使用storyboard拖拖约束很快就搭建出来项目,针对有些不能拖的,还是需要手动实现约束的。稍微研究了下NSLayoutContraint,使用起来也还算是方便。+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:

2015-01-29 16:19:30 916

原创 自己实现的输入框控件

公司设计问我这样效果好不好做,正好赶上公司断网了,我就研究了下,感觉CAGroupAnimation加上CAShapeLayer可以实现,就写了下。最后也实现了。先来拆分小动画,1.背景框收缩2,placeholder组动画。①shapeLayerCGRect roundRect =CGRectInset(self.bounds,0, 10);   

2015-01-28 11:46:08 1341

转载 CoreGraphics

Core Graphics属于媒体层,它负责疾呼所有在IOS屏幕上进行的绘图操作。创建任何界面元素时,iOS都是用Core Graphics来将这些元素绘制到窗口中去的。通过实现和重载Core Graphics的方法,可以创建自定义的界面元素。6.1 Core Graphics入门UIKit也依赖于它,#import 的时候会自动引入,而不需#importCore Grap

2015-01-22 17:10:36 831

原创 NSOperation并发实现

关于NSOperation的基本知识,点击查看我之前转发的博客: 猛戳这里  NSOperation实现并发有两种方式:①自定义NSOperation只需实现main方法,然后加入到NSOperationQueue②自定义NSOperation实现start,isExecuting,isFinished,isConnurrent,,然后【operation start】简单说下我自

2015-01-21 17:37:20 1403 1

转载 iOS并发编程指南

原文地址iOS Concurrency Programming GuideiOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取 asynchronous design approach 来解决并发的问题。引入的异步技术有两个:Grand Central Dispatch:系统管理线

2015-01-21 12:54:35 1053

原创 解决js的confirm转换为iOS UIAlertView的title问题

使用cordova做跨平台开发的时候,碰到了js调用confirm转换成iOS的UIAlertView的title显示成xxxx.html的问题。我想到的第一种办法就是监听UIApplication的windows,然后手动修改当前alert的title。以前做过类似的监听系统通知,修改样式的。不过这样跟JS交互起来效率就低了好多。另一种思路就是如果能够找到confirm转化成alert的

2015-01-20 11:43:43 7541 1

原创 iOS系统占有率统计网址

这都iOS8了,上头居然拿出了个iOS5的设备,说服上头还得专业数据,以下网址统计iOS各系统版本市场占有率,点击查看http://david-smith.org/iosversionstats/

2015-01-19 12:42:17 1211

原创 Facebook POP动画简单使用

简单实用POP动画发现POP比较好的一点是保留了动画结束后的状态,通过block回调。使用POPAnimatableProperty 可以快速添加基本动画,也可以自定义属性动画。弹性动画- (void)spring{    POPSpringAnimation* framePOP = [POPSpringAnimationanimationWithPropert

2015-01-15 15:57:45 3461

原创 导入FaceBook POP报错

使用cocoaPods下载下来POP动画库,想手动导入到原来的工程,但是到了一堆错,什么文件没找到之类的。最后索性修改了所有的报错头文件:修改POP.h后 : #import "POPAnimatableProperty.h"#import "POPAnimation.h"#import "POPAnimationEvent.h"#import "POPAnim

2015-01-15 14:26:21 3663 1

原创 CALayer扩展属性自定义CAAnimation动画

使用CA动画也有段时间了,相对都是比较基本的一些动画。使用的范围基本都是layer自己的animateble的属性。那对于CALayer子类扩展的属性该如何实现动画呢?我想做一个圆形的进度条,通过CABasicAnimation动画更新progress,效果如下:首先了解下layer自己的属性如果实现动画的。layer加载时会通过+ (BOOL)needsDisplayForKey

2015-01-07 15:07:11 2505 2

原创 Xcode6下学习autolayout 三 UITabelViewCell

项目中最常用的一个UI就是UITableView了,iOS7、8进一步优化了复用机制,用起来相当爽。配合Autolayout,适配工作减轻了很多。以前做适配工作都是在heightForRow里边先计算出来Cell的高度,然后再CellForRow写适配代码。工作量虽然不是很大,但是很繁琐。相对于这种写法,如果减去计算height这步,工作量自然减少很多。首先给出一种我媳妇给提供的方法,这是

2014-12-23 15:24:25 1726 4

原创 Xcode6 Constrain to margins

Xcode6多了个内边距, Constrain to margins 在stack overflow上边看到了一个帖子:楼主的约束莫名多了16像素空隙。一下是一些回复:In iOS 8 you now have the option to define your constrains relative to a predefined margin to the superview'

2014-12-18 11:11:04 9030

空空如也

空空如也

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

TA关注的人

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