自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 RunLoop笔记之使用

(因为run和loop是两个词所以首字母均大写)1 创建常驻线程 主线程不死是因为主线程里面有一个RunLoop,RunLoop里面有一个do while死循环,保证了程序的不退出。那么如果我们有一个需求,需要一直在后台进行某个耗时操作,比如检查联网状态,比如扫描用户的某些行为等等。这时候肯定要在子线程进行,如果能保证一个子线程的不死,就能避免频繁的创建与销毁线程. 方...

2017-04-14 12:00:00 114

转载 RunLoop笔记

原文:Runloop基础元素解析http://www.jianshu.com/p/8b9c81a521bc?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-timeline&from=timeline&isappinstalled=0Ru...

2017-04-14 11:36:00 106

转载 制作自己的Cocoapods

原文:http://blog.csdn.net/wzzvictory/article/details/20067595步骤:1 创建自己的github仓库2 clone该仓库到本地3 向本地仓库添加创建Pods依赖库所需的文件(1)后缀为.podspec文件:Pods依赖库的描述文件,每个Pods依赖库必须有且仅有那么一个描述文件。文件名称要和我们想创建的依赖库名称保...

2017-04-12 16:17:00 102

转载 Cocoapods笔记

1 Pod 安装pod 'AFNetworking', '~> 3.1.0’ 执行pod install之后提示The dependency `AFNetworking (~> 3.1.0)` is not used in any concrete target.所以:要注意指定pods使用的target。还有另外一种写法def pods  ...

2017-04-12 11:21:00 91

转载 Bash笔记

1 什么是bashbash 是一个为GNU计划编写的Unix shell。脚本:使用一种特定的描述性语言,依据一定的格式编写的可执行文件。(简单的来说就是一条条可以看到的文字命令)2 如何清除终端的历史命令:History -c (内容上的清除,然而展示的并未清除)清除屏幕应使用reset转载于:https://www.cnblogs.com/encoreMiao/p...

2017-04-12 11:20:00 61

转载 Git笔记

Git笔记一:知识点1 Githug游戏通关流程-简书 :http://www.jianshu.com/p/482b32716bbe有几个概念:(1)Woking directory (对应changes not staged for commited)(2)Staging area (对应changes to be commited)(3)Repository...

2017-04-12 11:14:00 180

转载 Dispatch Source

dispatch_source_t是个类,这点比较特殊//使用该方法,可以更新UI、查询类的属性,甚至是执行方法,所有这一切都不需要重启应用并达到某个特定的工作状态,相当优美。#if DEBUG dispatch_queue_t queue = dispatch_get_main_queue(); static dispatch_source_t sou...

2017-03-26 15:48:00 162

转载 effective OC2.0 52阅读笔记(六 大中枢派发)+ Objective-C高级编程 (三Grand Central Dispatch)...

Grand Central Dispatch (自动管理线程的生命周期(创建,调度任务,销毁))---------------------------------------------(是否开启新线程:Y/N  并行:B  串行:C)    全局并发  串行  主队列同步  N/C    N/C   N/C    异步  Y/B     Y/C   N/C同步函...

2017-03-23 18:26:00 118

转载 objc阅读笔记-更轻量的view controllers

更轻量的view controllers1 将datasource的代码提取出来放在一个单独的类中实现。因为这些代码总是围绕数组做一些事情,所以可以独立出来,并且这样独立出来的类会是可复用的。(甚至在UITableviewDataSource和UICollectionViewDataSource之间也是可以的)2将业务逻辑移到model中(如果不能移到model中可以移动到单独创...

2017-03-20 11:37:00 106

转载 一些小tips(陆续完善中)

原理了解:mikeash.com的博客Xcdoe快捷键1注释:alt+command+/ (editor中)调试技巧1 p/t用二进制来打印值2 dis 当前函数的反汇编3 调试添加全局断点:all exceptions 目的是当产生异常或者崩溃能停留在异常和崩溃发生的地方,而不是跳转到主函数4 recursiveDescription显示当前视图详细层级结...

2017-03-18 14:46:00 81

转载 loadView、viewDidLoad及viewDidUnload的关系(转)

原文:http://blog.csdn.net/q199109106q/article/details/8614044/标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView(VC的view是懒加载)1.什么时候被调用?每次访问U...

2017-03-18 14:26:00 79

转载 iOS中self与super详解(转)

原文:http://blog.sina.com.cn/s/blog_702e40a80101d34z.html原文:http://www.jianshu.com/p/9027506a2f73在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用...

2017-03-18 13:49:00 103

转载 对象去耦的方法之二:中介者模式

中介者模式定义了一个对象,该对象封装了一组对象是如何交互的。这种模式被认为是一个行为模式,因为它可以改变程序的运行行为。它解决了类与类之间趋于复杂的依赖关系。当功能种出现了多对多的复杂对象群时就可以使用中介者模式。将一定的复杂度移到了Mediator中,所以Mediator类的功能维护需要谨慎处理。中介者模式一个重要的应用就是,通过设置路由器来管理VC之间的跳转关系。如何实现:...

2017-03-17 18:11:00 61

转载 21种设计模式概览

一 对象创建1原型  2工厂方法  3抽象工厂  4生成器  5单例二 对象状态1备忘录三 对象去耦1观察者  2中介者四 接口适配1适配器  2桥接  3外观五 抽象集合1组合  2迭代器六 行为扩展1访问者  2装饰  3责任链七 算法封装1模板方法  2策略  3命令八 性能与对象访问1享元  2代理转载于:https...

2017-03-17 17:25:00 64

转载 对象去耦的方法之一:观察者模式

观察者模式是指一个对象状态发生改变,会通知正在对它进行观察的对象。观察者模式最常见的两种:KVO,NSNotification。首先关于KVO:(这里注意KVO和KVC都基于runtime的动态机制)观察者是在被观察者内进行注册的,同时观察者和被观察者都要实现NSKeyValueObserving协议(NSObject已默认实现)例子:被观察者:- (BOOL)ap...

2017-03-17 17:01:00 81

转载 OC基础教程

1argc为启动参数个数,因为启动参数第一个是工程名称,所以argc必大于等于12可以在方法中的注释哩加入以TODO: MARK: FIXME: ???:等开头的文本,这些作为程序员所做的记号放入到功能菜单中。3runloop一直处于阻塞状态,直至某些有趣的事情发生为止。4非正式协议是NSObject的一个类别。它能够列出对象能够响应的方法。5文件加载与保存:Cocoa提...

2017-03-14 21:03:00 133

转载 Objective-C高级编程 (一) 自动引用计数

第一章:自动引用计数1.2 内存管理/引用计数1.2.2 内存管理思考方式:1)自己生成的对象,自己所持有。alloc/new/copy/mutableCopy2)非自己生成的对象,自己也能持有。retain3)不再需要自己持有的对象时释放。release/autorelease4)非自己持有的对象无法释放。1.2.3 alloc/retain/release...

2017-03-14 17:27:00 162

转载 CFURLCreateStringByAddingPercentEscapes与CFURLCreateStringByReplacingPercentEscapesUsingEncoding

iOS中访问HTTP资源需要对URL进行Encode才能正确访问。OC中有方法:- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)enc;例如:NSString *url=@"http://unmi.cc?p1=%+&sd &p2=中文";NSStr...

2016-12-30 17:27:00 281

转载 MAC上向GitHub上上传自己的项目

1首先需要在github上创建你自己的github账户2新建仓库(注意选择initialize this repository with a README)3生成ssh(公钥.pub&私钥)命令行:$ssh-keygen -t rsa -C [email protected](注册github时的email)接下来需要指定生成ssh所在的目录:可以不仅仅指定~/.ssh,因...

2016-12-30 15:31:00 53

转载 关于layoutSubviews

layoutSubviews 是什么?设定subviews的尺寸和位置,如果要精确布局,可以在子类里重写此方法。不能直接调用此方法,如果想强制layout刷新,调用setNeedsLayout来代替,如果想立即刷新view,调用layoutIfNeeded。1不会触发layoutSubviews的情况init2会触发layoutSubviews的情况addSubvie...

2016-05-26 11:45:00 75

转载 实现放大转场动画 from cocoachina

原文1:http://www.cocoachina.com/ios/20160318/15714.html原文2:http://ningandjiao.iteye.com/blog/2049105iOS7定制View Controller的切换效果一 在iOS5和iOS6之前,View Controller的切换主要有4种1 Push/Pop,NavigationView...

2016-03-18 13:58:00 208

转载 OC编程之道-接口适配之适配器

已有的类与新的接口之间不兼容的问题相当普遍,人们已为它找到了一个解决方案。这个解决方案就是适配器。1 何为适配器 what适配器的主要作用是把被适配者的行为传递给管道另一端的客户端。将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。实现适配器有两种方式:1)类适配器:通过继承来适配两个接口。继承Adaptee,...

2016-03-08 11:59:00 111

转载 OC编程之道-创建对象之抽象工厂方法

定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。           <AbstractProductA>        <AbstractProductB><AbstractFactory>    createProuductA         createProductB<C...

2016-03-07 16:00:00 123

转载 SVProgressHUD

原文:http://cht005288201307234627.iteye.com/blog/1927961SVProgressHUD和MBProgressHUD效果差不多,不过不需要使用协议,同时也不需要声明实例。直接通过类方法进行调用即可:[SVProgressHUD method];可以使用一下方法显示状态:+ (void)show;+ (void)showWi...

2016-03-03 15:16:00 68

转载 DCIntrospect -iOS界面调试

原文:http://www.cnblogs.com/kw-ios/p/3523525.html有时,设计稿上的UI很漂亮,布局也整齐,但自己用代码写出来的就不行,不是这里高一点,就是那是低一点,使用DCIntrospect来查看元素信息调整布局,再也不用凭眼睛来估了。使用方法:Before you start make sure theDEBUGenvironment v...

2016-03-03 14:39:00 65

转载 关于imageOrientation

用相机拍出来的照片都含有EXIF信息,UIImage的imageOrientation属性指的就是EXIF中的orientation信息。如果我们忽略orientation信心,而直接对照片进行想速处理或者drawInRect等操作,得到的结果是翻转或者旋转90之后的样子。这是因为我们执行像素处理或者drawInRect等操作后,imageOrientation信息被删除了,imageO...

2016-03-02 17:12:00 199

转载 CGAffineTransform

这个是CoreGraphics框架中的CGAffineTransform类,可用于设定UIView的transform属性。控制视图的缩放、旋转和平移操作。另称仿射变换矩阵。Quartz转换实现原理:Quartz把绘图分为两个部分,用户空间(和设备无关),设备空间。用户空间和设备空间中存在一个转换矩阵CTM。我们可以通过直接修改CTM来实现效果,也可以通过创建Affine Trans...

2016-03-01 18:19:00 94

转载 objccn-iOS上的相机捕捉

在第一台iPhone时,在app里面整合相机的唯一方法就是使用UIImagePickerController。到了iOS4,发布了更灵活的AVFoundation框架。UIImagePickerController提供了简单的拍照方法,支持所有的基本功能。AVFoundation框架则提供了完全的访问相机的操作权,eg:以编程方式更改硬件参数,或者操纵实时预览图。AVFoun...

2016-02-26 16:12:00 88

转载 iOS整体框架类图

Cocoa是OS X和iOS操作系统的程序的运行环境。iOS的操作系统层次结构分为四层:触摸UI层,媒体层,核心服务层,核心OS层。其中底层框架提供iOS的基本服务和技术,高层次框架简历在低层次框架智商用来提供更加复杂的服务和技术,较高级的框架向较低及的结构提供面向对象的抽象。在开发的时候应尽可能使用较高级的框架。如果要开发的在高层框架中没有提供,也可以使用较低层框架和技术。Coco...

2016-02-26 11:07:00 86

转载 objccn-图片格式

图像格式存储:位图和矢量图像。位图把值存在阵列中,矢量格式存储的是绘图图像的指令。还有混合格式PostScript能够排布字母甚至位图,使其成为了一个非常灵活的方式。衍生格式pdf。xcdoe6已经支持了PDF格式,但是迄今扔不完善,只是在编译时将其创建成了位图图像。最常见的矢量图为SVG,在iOS中也有一个渲染SVG文件的库,SVGKit。位图:表达位图最简单的方法是讲二进制作...

2016-02-22 18:09:00 71

转载 objccn-相机工作原理

感觉这个世界上最幸福的事情就是工作和兴趣结合到一起了。这一阵子总是在听再看有关摄影的种种,今天在objccn上又看到这个,哈哈~轻轻一按,相机就把光子转化成了比特,于是一张照片就保存到了手机里。一 一些基本概念进光量:拍摄一张照片的过程被称之为曝光,曝光也指单位面积上光的数量。曝光有两种结果,一个是欠曝,一个是过曝。如果一张照片过度的欠曝或过曝的话,是很难修复的。曝光档数...

2016-02-19 17:55:00 88

转载 OC编程之道-创建对象之工厂方法

一 何为工厂方法模式?(what)定义创建对象的接口,让子类决定实例化哪一个类,工厂方法是的一个类的实例化延迟到其子类。工厂方法创建的对象拥有一组共同的行为,所以往类层次结构中引入新的具体产品并不需要修改客户端代码。二 何时使用工厂方法?(where)编译时期无法准确预期要创建的对象的类。eg:[NSNumber numberWithBool:YES];工厂方法...

2016-02-19 15:01:00 112

转载 OC编程之道-创建对象之单例模式

一 何为单例singleton模式?(what)保证一个类只有一个实例,并提供一个访问它的全局访问点。二 何时使用单例模式?(where)1类只能有一个实例,而且必须从一个为人熟知的访问点对其访问,比如工厂方法。2这个唯一实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码。为什么不用静态全局变量或是类方法呢?如果一个程序中两个人分别在两个地方定义了...

2016-02-19 11:03:00 84

转载 OC编程之道-创建对象之原型模式

一 什么是原型模式?(what)有些对象的创建代价过大或过于复杂,要是可以重建相同的对象并作轻微的改动,事情会容易的多(效率变高)。典型的例子是复制组合结构(eg树形结构),从零开始构建一个树型组合体非常困难。可以通过轻微的改动重用已有的对象,以适应程序中的特定情况。原型模式属于创建性设计模式,通过拷贝的方式快速创建一个对象,这里拷贝的方式有两种1)浅拷贝2)深拷贝。二...

2016-02-18 14:13:00 123

转载 OC编程之道-创建对象之生成器模式

生成器模式也叫建造者模式,一般是用来构造复杂对象的一种模式。client(客户)-director(指导者)-builder(构造者)-product(产品)。生成器模式能帮助构建设计部件与表现的各种组合的对象。否则知道构建对象所有细节的director可能会变成一个庞大的“神”类。但是在做应用的时候一般不会遇到如此复杂的类(请求?),只有在做游戏时,构造涉及各种特征的角色的时候,应...

2016-02-17 17:44:00 1713

转载 effective OC2.0 52阅读笔记(七 系统框架)

47 熟悉系统框架总结:将代码封装为动态库,并提供接口的头文件,就是框架。平时的三方应用都用静态库(因为iOS应用程序不允许在其中包含动态库),并不是真正的框架,然而也经常视为框架。例如:NSLinguisticTagger可以解析字符串并找到其中的全部名词、动词、代词等。无缝桥接:将CoreFoundation中的C语言数据结构平滑转换为Foundation中的Objecti...

2016-01-13 11:45:00 76

转载 effective OC2.0 52阅读笔记(六 块)+ Objective-C高级编程 (二 Blocks)

什么是Blocksblocks是带有自动变量(局部变量)的匿名函数(1)匿名函数:不带名称的函数。(2)带有自动变量(局部变量)int func(int count); int result = func(10);int (*funcptr)(int) = &func;int result = (*funcptr)(10);p...

2016-01-13 11:34:00 126

转载 effective OC2.0 52阅读笔记(五 内存管理)

第五章:内存管理ARC几乎把所有的内存管理事宜都交由编译器来决定,开发者只需关注业务逻辑。29 理解引用计数 总结:iOS不支持垃圾回收机制,现在不支持,将来也不会支持。30 以ARC简化引用计数总结:ARC通过命名约定将内存管理规则标准化。其他编程语言很少像OC这样强调命名。ARC通过设置全局数据结构(此数据结构的具体内容因处理器而异)中的一个标志位,来代替直...

2016-01-13 10:39:00 70

转载 effective OC2.0 52阅读笔记(四 协议与分类)

23 通过委托与数据源协议进行对象间通信总结:委托模式的常规委托模式中,信息从类Class流向受委托者delegate。数据源模式,信息从数据源datasource流向class。数据源和受委托者可以是两个不同对象。有时候一个可选择方法可能在一个生命期中多次调用,如果每次都检查委托对象是否能响应选择子,那就显得多余了。可以使用位段(bitfield)数据类型将方法响应能力缓存起...

2016-01-13 10:30:00 85

转载 effective OC2.0 52阅读笔记(三 接口与API设计)

第三章:接口与API设计15 用前缀避免命名空间冲突总结:避免重名符号错误的唯一办法是变相实现命名空间:为所有符号都加上命名前缀。类和分类都应加三字前缀。总是给C函数的名字加上前缀:类实现文件中的纯C函数及全局变量,是算作“顶级符号的”(不属于任何类)。为三方库加前缀:如果用第三方库编写自己的代码,并准备将其再发布为程序库供他人使用,尤其要注意符号问题,应该再加上引用的...

2016-01-12 18:01:00 87

空空如也

空空如也

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

TA关注的人

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