- 博客(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 3966
原创 xcodebuild打包ipa
Xcode6之后打包IPA只有拥有证书还不够,还需要登陆账号。使用xcodebuild可以绕过账号第一:clean xcodebuild clean -projecttest.xcodeproj -configuration Release -alltargets第二:生成xcarchive文件xcodebuild archive -projecttes
2016-02-14 17:21:31 1024
原创 shell grep常用选项
匹配模式:-n : 显示匹配的行和行号 (文件名 + 行内容)-v : 显示不匹配的文本的所有行 (文件名+行内容)-h : 不显示匹配行的文件 (行内容)-L : 显示不匹配的文件 (文件名) -l : 显示匹配行的文件 (文件名)-c : 显示匹配行的计数 (行数)-i :显示忽略大小写的结果-w : 显示匹配单词的结果 字符串 \ == 结尾 或
2016-02-06 14:29:12 746
原创 iOS bitcode实战
关于bitcode的介绍,直接看下边两篇:理解Bitcode:一种中间代码 Xcode 7 Bitcode的工作流程及安全性评估 大牛们已经把bitcode说的很清楚了,我结合自己的实践梳理出以下流程:主工程引用静态库有两种形式(参考:在iOS中创建静态库)①:代码依赖②:引用.a 对应的,让静态库支持bitcode也有不同的地方。先来看第一种:直接上图配置
2016-02-02 20:38:29 1028
原创 iOS 自动化生成API文档
Xcode 自带的工具 : headerdoc2html 这种自动化生成需要注释的格式为/*!*/如果不是这种格式的注释,不管怎么跑命令会报错,comment not found;第三方:Doxygen /***/使用这个第三方工具需要注意的是,目录所在的路径中不能有中文 。否则可能会报错找不到INPUT Source 或者 outPUT so
2016-01-15 15:36:25 706
原创 NSURLSessionConfiguration API详解
一、NSURLSessionConfiguration的描述NSURLSessionConfiguration为NSURLSession配置一些请求所需要的策略。如:超时、缓存策略、链接需求的。NSURLSession会拷贝configuration。所以session一旦初始化结束就不会再更改configuration。除非初始化一个session。重要:如果
2016-01-08 15:16:07 9786
原创 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 2446
原创 重新认识ARC
虽然用了很久的ARC,感受了代码简洁。但是对ARC底层实现并不了解。今天抽空研究了下,做些简单地总结。一、__strong1.局部变量①.对于局部变量来说,在超出作用域的地方由编译器自动插入release。{id __strong objc = [NSObject new];}==>> (大概转化为){id objc = objc_msgSend(objc
2015-12-02 11:09:23 1015
原创 帮5买面试总结
写在前边:时间久远,个数跟次序记不清楚了,挑着印象深刻的来些。 一、笔试1.详述delegate , block , notification,KVO2.分类能否扩展属性,若能则如何实现?3.常用的设计模式有哪些,如何实现,画出UML图更佳。4.有一个无序的int数组array,将其排序,再找出比a
2015-12-02 09:34:55 819 2
原创 Swift Protocol optional
Objective-C中实现Protocol的可选直接使用关键字@Optional就好了。 然而在Swift中就变的比较绕了。==================Swift2.0之前========================swift实际不提供可选协议,但是为了对接Objective-C,没办法就使用@objc +optional来达到目的。具体实例参考如下
2015-11-13 15:24:56 2211
原创 Swift Selector
看了喵神的Swifter 100个必备的小tips总结下swift中不支持@selector关键字,将SEL重新定义为结构体了。但是NSSelectorFromString()依然可以使用,但是获取方法名的规则有点变动。1.不带参数的方法func normalSelector() { NSLog("normal") }
2015-11-13 11:31:28 2038
原创 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 1000
转载 iOS-Core-Animation-Advanced-Techniques(七)
转自:FeiXu(github主页)高效绘图、图像IO以及图层性能高效绘图不必要的效率考虑往往是性能问题的万恶之源。 ——William Allan Wulf在第12章『速度的曲率』我们学习如何用Instruments来诊断Core Animation性能问题。在构建一个iOS app的时候会遇到很多潜在的性能陷阱,但是在本章我们将着眼于有关绘制的性能问题。
2015-06-23 10:47:37 1087
转载 iOS-Core-Animation-Advanced-Techniques(六)
转自:FeiXu(github主页) 基于定时器的动画和性能调优基于定时器的动画我可以指导你,但是你必须按照我说的做。 -- 骇客帝国在第10章“缓冲”中,我们研究了CAMediaTimingFunction,它是一个通过控制动画缓冲来模拟物理效果例如加速或者减速来增强现实感的东西,那么如果想更加真实地模拟物理交互或者实时根据用户输入修改
2015-06-23 10:46:21 1070
转载 iOS-Core-Animation-Advanced-Techniques(五)
转自:FeiXu(github主页) 图层时间和缓冲图层时间时间和空间最大的区别在于,时间不能被复用 -- 弗斯特梅里克在上面两章中,我们探讨了可以用CAAnimation和它的子类实现的多种图层动画。动画的发生是需要持续一段时间的,所以计时对整个概念来说至关重要。在这一章中,我们来看看CAMediaTiming,看看Core Animation是如何跟踪时间的
2015-06-23 10:39:53 782
转载 iOS-Core-Animation-Advanced-Techniques(四)
隐式动画和显式动画隐式动画按照我的意思去做,而不是我说的。 -- 埃德娜,辛普森我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情。但是动画师Core Animation库一个非常显著的特性。这一章我们来看看它是怎么做到的。具体来说,我们先来讨论框架自动完成的隐式动画(除非你明确禁用了这个功能)。事务Core Animatio
2015-06-23 10:32:58 1148
转载 iOS-Core-Animation-Advanced-Techniques(三)
专用图层复杂的组织都是专门化的--Catharine R. Stimpson到目前为止,我们已经探讨过CALayer类了,同时我们也了解到了一些非常有用的绘图和动画功能。但是Core Animation图层不仅仅能作用于图片和颜色而已。本章就会学习其他的一些图层类,进一步扩展使用Core Animation绘图的能力。CAShapeLayer在第四章『视觉效果』我们
2015-06-23 10:31:07 1006
转载 iOS-Core-Animation-Advanced-Techniques(二)
视觉效果和变换(四)视觉效果嗯,园和椭圆还不错,但如果是带圆角的矩形呢?我们现在能做到那样了么?史蒂芬·乔布斯我们在第三章『图层几何学』中讨论了图层的frame,第二章『寄宿图』则讨论了图层的寄宿图。但是图层不仅仅可以是图片或是颜色的容器;还有一系列内建的特性使得创造美丽优雅的令人深刻的界面元素成为可能。在这一章,我们将会探索一些能够通过使用CALaye
2015-06-23 10:27:42 857
转载 iOS-Core-Animation-Advanced-Techniques(一)
图层树、寄宿图以及图层几何学(一)图层的树状结构巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角。Core Animation是一个复
2015-06-23 10:23:18 1255
原创 iOS键盘与NSLayoutConstraint
xcode6开始,写界面基本都是用size classes +layoutContraint了,对于一般的静态页面,使用constrain简单快速还能支持横竖屏切换,high到爆!使用constraint实现的页面在viewDidAppear之后,想做什么动画
2015-06-01 22:51:50 1669 1
原创 Copy和MutableCopy
NSObject子类对象如果想要实现拷贝,就需要实现NSCopying,NSMutableCopying协议。理论上说Copy实现的是浅拷贝:retain当前对象的指针,retainCount+1;mutableCopy实现的是深拷贝:创建新的内存空间并返回地址,retainCount = 1;个人猜测,之所以这么说因为系统的NSString,NSArray,NSDictionary等
2015-05-06 21:26:55 1798
原创 CAPropertyAnimation additive
再做一些shaking动画时,通常会指定对称的左右几个点,加入都CAKeyframeAnimation.values中。但是这就需要计算present layer的点,不太方便。看了下CAPropertyAnimation有个属性是additive,这个属性根据当前的渲染层的值加上value生成新的渲染的值,也就是动画时present layer的值。Deter
2015-05-06 14:36:35 2488
原创 IOS Data Storage
应用又被拒绝了,原因是IOS Data Storage 为了区分清楚sandbox里边各个目录的作用,我去看了下apple文档,sandbox目录介绍总结下:Documents:存放用户产生的数据,比如用户下载的视频图书,浏览记录等。但是对于位于Documents中可在生成或可重新下载的资源,必须标记为不能通过iTunes恢复的类型(NSURLIsExcludedFromBackup
2015-05-05 15:59:03 1053
原创 iOS网络开发编程之NSURLConnection详解
iOS网络层常用的库如ASIHTTPRequest,AFNetworking,MKNetworkKit等知名的第三方库。随着ASI不再更新,楼主基本上也跟着大部队用了AF。AF用的是Cocoa层的API-NSURLConnection。以前只是简简单单的用过NSURLConnection,很多相关的方法都不是很熟悉,今天抽空了系统的学习了下,晚上顺道总结下NSURLConnection的用法。
2015-03-03 21:07:40 3018
原创 iOS-关联属性Associate
iOS分类用的比较多,基本都是扩展方法,如果想要扩展属性,就要用到runtime了,使用objc_getAssociatedObjectobjc_setAssociatedObject上代码:给Test新建一个分类,关联一个属性name;#import "Test.h"#import "Property.h"@interfac
2015-02-27 23:55:48 2096
转载 CoreText基本知识
第一次比较深入接触iOS文字排版相关内容是在12年底,实现某IM项目聊天内容的图文混排,照着nimbus的AttributedLabel和Raywenderlish上的这篇文章《Core Text Tutorial for iOS: Making a Magazine App》改出了一个比较适用于聊天内容展现的图文混排(文字和表情)控件。 选择自己写而不是直接使用现有第三方库的
2015-02-13 12:49:37 807
转载 自定义容器类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 1759
原创 用xib自定义UIView
常用xib的基本上都是UITableViewCell,今天动手拖出来个UIView的子类。打开工程新建一个view:StoryBoardView.新建view不能创建xib,需要手动创建一个xib打开这个新建的xib。拖上去一个label,一个button,暂时别连线。拖着个xib的时候,可能第一反应就是先将这个view指向StoryBoardView,这个时候
2015-02-06 13:09:26 2391
原创 手写NSLayoutContraint
Xcode6使用storyboard拖拖约束很快就搭建出来项目,针对有些不能拖的,还是需要手动实现约束的。稍微研究了下NSLayoutContraint,使用起来也还算是方便。+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:
2015-01-29 16:19:30 937
原创 自己实现的输入框控件
公司设计问我这样效果好不好做,正好赶上公司断网了,我就研究了下,感觉CAGroupAnimation加上CAShapeLayer可以实现,就写了下。最后也实现了。先来拆分小动画,1.背景框收缩2,placeholder组动画。①shapeLayerCGRect roundRect =CGRectInset(self.bounds,0, 10);
2015-01-28 11:46:08 1369
转载 CoreGraphics
Core Graphics属于媒体层,它负责疾呼所有在IOS屏幕上进行的绘图操作。创建任何界面元素时,iOS都是用Core Graphics来将这些元素绘制到窗口中去的。通过实现和重载Core Graphics的方法,可以创建自定义的界面元素。6.1 Core Graphics入门UIKit也依赖于它,#import 的时候会自动引入,而不需#importCore Grap
2015-01-22 17:10:36 865
原创 NSOperation并发实现
关于NSOperation的基本知识,点击查看我之前转发的博客: 猛戳这里 NSOperation实现并发有两种方式:①自定义NSOperation只需实现main方法,然后加入到NSOperationQueue②自定义NSOperation实现start,isExecuting,isFinished,isConnurrent,,然后【operation start】简单说下我自
2015-01-21 17:37:20 1442 1
转载 iOS并发编程指南
原文地址iOS Concurrency Programming GuideiOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取 asynchronous design approach 来解决并发的问题。引入的异步技术有两个:Grand Central Dispatch:系统管理线
2015-01-21 12:54:35 1101
原创 解决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 7606 1
原创 iOS系统占有率统计网址
这都iOS8了,上头居然拿出了个iOS5的设备,说服上头还得专业数据,以下网址统计iOS各系统版本市场占有率,点击查看http://david-smith.org/iosversionstats/
2015-01-19 12:42:17 1243
原创 Facebook POP动画简单使用
简单实用POP动画发现POP比较好的一点是保留了动画结束后的状态,通过block回调。使用POPAnimatableProperty 可以快速添加基本动画,也可以自定义属性动画。弹性动画- (void)spring{ POPSpringAnimation* framePOP = [POPSpringAnimationanimationWithPropert
2015-01-15 15:57:45 3522
原创 导入FaceBook POP报错
使用cocoaPods下载下来POP动画库,想手动导入到原来的工程,但是到了一堆错,什么文件没找到之类的。最后索性修改了所有的报错头文件:修改POP.h后 : #import "POPAnimatableProperty.h"#import "POPAnimation.h"#import "POPAnimationEvent.h"#import "POPAnim
2015-01-15 14:26:21 3694 1
原创 CALayer扩展属性自定义CAAnimation动画
使用CA动画也有段时间了,相对都是比较基本的一些动画。使用的范围基本都是layer自己的animateble的属性。那对于CALayer子类扩展的属性该如何实现动画呢?我想做一个圆形的进度条,通过CABasicAnimation动画更新progress,效果如下:首先了解下layer自己的属性如果实现动画的。layer加载时会通过+ (BOOL)needsDisplayForKey
2015-01-07 15:07:11 2578 2
原创 Xcode6下学习autolayout 三 UITabelViewCell
项目中最常用的一个UI就是UITableView了,iOS7、8进一步优化了复用机制,用起来相当爽。配合Autolayout,适配工作减轻了很多。以前做适配工作都是在heightForRow里边先计算出来Cell的高度,然后再CellForRow写适配代码。工作量虽然不是很大,但是很繁琐。相对于这种写法,如果减去计算height这步,工作量自然减少很多。首先给出一种我媳妇给提供的方法,这是
2014-12-23 15:24:25 1750 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 9071
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人