自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

零纪年的专栏

脚踏实地, 砥砺前行 !

  • 博客(173)
  • 收藏
  • 关注

转载 为什么设置了view的Opaque性能会提高(GPU)

转自:http://blog.csdn.net/u011452278/article/details/51555806Opaque该属性为BOOL值,UIView的默认值是YES,但UIButton等子类的默认值都是NO。opaque表示当前UIView是否不透明,不过搞笑的是事实上它却决定不了当前UIView是不是不透明,比如你将opaque设为NO,该UIView照样是可见的(

2017-03-14 19:40:25 704

转载 NSDictionary实现原理

转自:http://blog.csdn.net/linshaolie/article/details/41494303 NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的, hash函数设计的好坏影响着数据的查找访问效率。数据在hash表中分布的越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSString 来作为键

2017-02-23 17:55:41 6136

原创 Android创建子线程和回调主线程的几种方式

一. 创建子线程 //通过继承thread public class JNThread1 extends Thread { public JNThread1(String name){ super(name); } @Override public void run() { M

2016-11-14 21:27:12 16887 1

转载 使用 Xcodebuild + Jenkins + Apache 做 iOS 持续集成

转自:http://www.jianshu.com/p/fd22bb5c01e5这篇博客主要讲解如何用 xcodebuild 命令行打包,利用 Jenkins 做持续集成,以及使用 Mac 自带的 Apache 服务将 ipa 存放的目录分享出去。Xcodebuild 打包命令的基础使用只要安装了 Xcode , 就可以在命令行里使用 xcodebuild 命令进行打包。

2016-06-21 14:17:24 1594

转载 Cocoapods降低版本及卸载

有的时候我们需要降低Cocoapods的版本来解决第三方库的兼容问题.一. 移除pod组件这条指令会告诉你Cocoapods组件装在哪里 :1$whichpod你可以手动移除这个组件 :

2016-01-04 21:44:08 623

转载 CADisplayLink结合UIBezierPath的神奇妙用

做过iOS动画的朋友都知道,动画中一大头疼之处就是弹性、形变之类扭曲的效果。iOS7开始,我们开始可以直接使用UiView的渲染动画API实现简单的弹性效果。1+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpring

2015-12-22 16:24:32 496

转载 ios Autolayout改变约束, 动画效果处理

用自动布局, 有时候拉出来一条约束, 需要改变, 单纯的改变会比较生硬, 这时想到加个简单的animation动画, [UIView animateWithDuration:0.2f animations:^{ self.selectButtonLeading.constant = 17; self.headImageLeading.constant = 50;

2015-10-21 16:31:01 4027

转载 Android Studio解决unspecified on project app resolves to an APK archive which is not supported

转自:http://www.07net01.com/2015/08/917039.html出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation dependency的情形可能是:创建了两个Module,其中一个Module依赖另一个Module而导

2015-10-15 20:22:34 3211

转载 CocoaPods pod install/pod update更新慢卡住的问题

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:pod install --verbose --no-repo-updatepod

2015-10-14 18:50:53 501

原创 iOS单个方向的圆角处理

有时候需要单个方向的圆角处理, 用图片可以达到效果, 更简单的方法用CAShapeLayer自己画//define path parametersCGRect rect = CGRectMake(50, 50, 100, 100);CGSize radii = CGSizeMake(10, 10);UIRectCorner corners = UIRectCornerTopRight;//c

2015-09-17 17:33:35 865

转载 android shape的使用

转自http://www.cnblogs.com/cyanfei/archive/2012/07/27/2612023.htmlshape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: android:shape=["rectangle" | "oval" | "line" | "ring"]其中rectagle矩形,ov

2015-09-06 20:37:19 419

转载 Java之extends implements

implements 也是实现父类和子类之间继承关系的关键字,如类 A 继承 类 B 写成 class A implements B{}.implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法。比如:people是一个接口,他里面有say这个方法。public interface people(){ public say();}但是接口没有方法体。只能通过一个具体的类去

2015-09-06 12:02:02 733

转载 java中final static关键字用法

转自:http://lavasoft.blog.51cto.com/62575/18771/一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。

2015-09-02 19:14:34 465

转载 详解CALayer 和 UIView的区别和联系

转自:http://www.jianshu.com/p/079e5cf0f014前言前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下。这里会先分条解释,最后会在文章的结尾给出概括性总结。1.首先UIView可以响应事件,Layer不可以

2015-08-28 19:59:59 449

转载 iOS中为cagetory添加@property支持

Objective-C runtime提供了Associative References支持,也就是说每一个对象都有一个可选的dictionary字典,我们可以向其添加key/value对。这是一个非常强大的功能,我们都知道Objective-C中支持category,我们可以在category中添加方法,但是它不允许我们添加实例变量。通过这

2015-07-06 14:20:53 998

原创 ios-block循环引用简析

**首先明白一点, 由于Block是默认建立在栈上, 所以如果离开方法作用域, Block就会被丢弃, 在非ARC情况下, 我们要返回一个Block ,需要 [Block copy]; 在ARC下, 以下几种情况, Block会自动被从栈复制到堆: 1.被执行copy方法 2.作为方法返回值 3.将Block赋值给附有__strong修饰符的id类型的类或者Blcok类型成员变量时 4.

2015-06-29 09:58:03 608

转载 iOS-pthread_t自定义一个简单线程

有时候,会使用更原始的线程编程!如下示例:// QBKThread.h@interface QBKThread : NSObject{ pthread_t _tid; pthread_mutex_t theTaskMutex;}- (void*)run;- (void)start;- (void)stop;@end// QBKThre

2015-06-09 10:16:19 1649

原创 runtime之forwardInvocation

methodSignatureForSelector: 原型:– (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector 这个函数和后面的forwardInvocation:是最后一个寻找IML的机会。这个函数让重载方有机会抛出一个函数的签名,再由后面的forwardInvocation:去执行。 forwardInvocat

2015-06-08 17:58:46 557

转载 iOS图片AVMakeRectWithAspectRatioInsideRect妙用

转自:http://www.jianshu.com/p/827090aa933b?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo1.神器计算图片位置的函数:AVMakeRectWithAspectRatioInsideRect()是根据image的比例进行居中显示, 如

2015-04-28 10:32:50 6156

转载 ios--dispatch_semaphore

当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。  信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信

2015-03-23 16:41:49 650

转载 iOS中消息分发 objc_msgSend的作用

转自:http://book.51cto.com/art/201403/432144.htm第11条:理解objc_msgSend的作用在对象上调用方法是Objective-C中经常使用的功能。用Objective-C的术语来说,这叫做“传递消息”(pass a message)。消息有“名称”(name)或“选择子”(selector),可以接受参数,而且可能还有返回

2015-03-19 18:25:34 1162

转载 iOS锁synchronized OSSpinlock NSLock

原文: http://perpendiculo.us/2009/09/synchronized-nslock-pthread-osspinlock-showdown-done-right/转自: http://blog.csdn.net/meegomeego/article/details/39546765[objc] view plaincopy

2015-03-19 17:28:09 2543 2

转载 轻松搞定面试中的链表题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7393134链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文

2015-03-04 16:36:23 466

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树

2015-03-04 16:35:14 342

原创 ios---githup上的优秀开源库

根据star排名:https://github.com/search?l=Objective-C&p=2&q=location%3Achina&ref=simplesearch&type=Repositories&utf8=%E2%9C%93

2015-03-03 09:56:05 488

转载 iOS开发快速成长心得

iOS开发如何快速成长?转自:http://www.jianshu.com/p/5adb536fd32bNO.1 毫无疑问,做有难度的项目.当时正在快乐的当一只小菜鸡的我沉浸在了解了delegate原来是回调的意思正充满着满满的幸福感的时候,被产品告知必须完成以下几个功能.完成类似于vine的短视频录制功能和画中画(我记得当时vine的版本只到1.X),而且AVFoun

2015-02-28 10:16:31 624

转载 iOS--关于RunLoop的一些总结

先从一个比较常见的问题入手:  5 NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:1 6 target:self 7 select

2015-02-09 11:39:50 748

原创 iOS--XMPP文件传输

IM一个项目中需要文件传输, 研究了 总结下XEP-0096: File Transfer 传输文件的统一接口, 客户端之间用它来协商到底采用哪种具体的传输方式, 包括以下三种:1.XEP-0047: In-Band ByteStreams 带内字节流, 这个协议可用于小数据量传输, 只是用字节流传输, (图片可以, 语音压缩好也可以).带内, 顾名思义, 就是夹带在XML流中, 通过

2015-02-02 11:45:27 1156 1

转载 iOS 多播委托(GCDMulticastDelegate)

转自:http://www.cnblogs.com/dagehaoshuang/p/4043264.html在IOS中为了实现回调一般有如下几个方法:delegate通知中心blockKVO(较特殊的回调,姑且也算一种)以上四种中在我自己的项目中比较常用的就是delegate和block了。在现实中回调的需求也分两种一对一的回调。一对多的回调。

2015-01-27 14:35:39 1926

转载 如何更安全的使用Block

前段时间,在公司的项目中发现了内存泄露。查到最后发现是由于没有正确使用Block导致的内存引用循环。简单的解决方案就是补上关键字__weak。那么问题来了,为何[UIView animateWithDuration:animations:completion:]或者GCD中可以不需要声明__weak呢? 如何选择回调方式在讲这个问题之前,我们先看看Objcio上是怎么判断使

2015-01-27 12:52:30 499

转载 iOS--LLDB调试命令简要使用

LLDB调试命令初探MAR 17TH, 2014如果你在平时的开发中从未使用过调试器,那你恐怕不知道一个调试器的作用有多大。你可能只满足于通过printf或者NSLog输出信息用于调试。但你只要试着尝试在调试中开始使用调试器LLDB,你会马上感受到调试器给你带来的便利。LLDB是LLVM

2015-01-27 11:32:09 673

转载 iOS--main函数简析

转自:http://www.cnblogs.com/EverNight/p/3820981.html   如同任何基于C的应用程序,程序启动的主入口点为iOS应用程序的main函数。在iOS应用程序,main函数的作用是很少的。它的主要工作是控制UIKit framework。因此,你在Xcode中创建任何新的项目都配备了一个默认的主函数。除了少数特例外,你永远不应该改变这个函数的实现。

2015-01-26 14:58:23 499

转载 iOS Runtime能做什么?

转自Anselz的博客 转自:http://www.cocoachina.com/ios/20140527/8570.html在之前的文章中我们介绍了Runtime是什么,属于理论性介绍,你看了上篇很迫切的想知道Runtime到底能干什么?不要着急,这一篇Blog将将讲解Runtime怎么应用到实战中Runtime官方文档在这里,包括了接口名字以及使用说明。下文讲到的接口都

2015-01-23 16:52:39 1378

转载 iOS调用方法---NSInvocation的使用

在 iOS中可以直接调用 某个对象的消息 方式有2种一种是performSelector:withObject:再一种就是NSInvocation,   invocation英文单词就是调用的意思第一种方式比较简单,能完成简单的调用。但是对于>2个的参数或者有返回值的处理,那就需要做些额外工作才能搞定。那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复

2015-01-23 15:37:43 919

转载 NSTimer容易陷进去的坑

前面个项目有用NSTimer做个短信验证码的定时器, 遇到了这个问题.  关于NSTimer, 有一点需要特别注意:NSTimer会持有target(Remember that NSTimer Retains Its Target)。一个NSTimer对象在触发时会保留目标直到计时器被显式的设置无效。(NSTimer invalidate)如果调用者保存了NST

2015-01-23 14:09:36 1068

转载 iOS反射---2.类方法的反射

1.NSObject常用方法:(类别判断, 也可以说是动态方法)[objc] view plaincopyStudent *stu = [[[Student alloc] init] autorelease];    // isKindOfClass判断对象是否属于某个类 或者 子类  if ( [stu isKindOfClass:

2015-01-20 10:06:46 1610 1

转载 iOS反射机制--1.属性反射

iOS属性反射:说白了,就是将两个对象的所有属性,用动态的方式取出来,并根据属性名,自动绑值。(注意:对象的类,如果是派生类,就得靠其他方式来实现了,因为得到不该基类的属性。)本人常用的反射方式,有如下两种:从一个自定义实体类->自定义实体类从一个NSDictionary->自定义实体类(此方式最最常用,如网络Json数据会组成NSDictionary。sqlite查询数据,可以用

2015-01-20 09:54:32 1263

转载 iOS开发数据库篇—8.FMDB数据库队列

转自:http://www.cnblogs.com/wendingding/p/3873874.htmliOS开发数据库篇—FMDB数据库队列一、代码示例1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库。2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列

2015-01-15 16:06:01 573

转载 iOS开发数据库篇—7.FMDB使用介绍

iOS开发数据库篇—FMDB简单介绍一、简单说明1.什么是FMDBFMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码对比苹果自带的Core Data框架,更加轻量级和灵活提供了多线程安全的数据库操作方法,有效

2015-01-15 16:02:44 602

转载 iOS开发数据库篇—6.纯C写的一些SQLite常用的函数

转自:http://www.cnblogs.com/wendingding/p/3871792.htmliOS开发数据库篇—SQLite常用的函数一、简单说明1.打开数据库int sqlite3_open(    const char *filename,   // 数据库的文件路径    sqlite3 **ppDb          // 数据库实例); 2

2015-01-15 15:57:25 491

空空如也

空空如也

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

TA关注的人

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