自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王中周的个人博客

专注于IOS应用开发,业余学习Java和Android,欢迎关注我的微信公共账号:wangzzstrive

原创 博客搬家啦!

Hi, 我的个人博客搬家啦!从此本博客不会再有更新,博客更新全部转移到新地址:http://wangzz.github.io/ 欢迎大家继续关注! 谢谢支持!

2014-05-09 23:39:29 4198 2

原创 Core Animation系列之CADisplayLink

Core Animation系列之CADisplayLink作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/22417181转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微博、微信公众帐号wangzzstrive来支持我,谢谢!一直以来都想好好学习下CoreAnimation,奈何涉及的东西太多,想要一次性全部搞定时间上不允许,以后会断断续续的补全。最近项目里用到了CADisplayLink,就顺便花点时间看了

2014-03-29 17:52:19 14429 2

原创 CocoaPods详解之----制作篇

CocoaPods详解之----制作篇作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤

2014-03-04 16:05:27 32169 16

原创 CocoaPods详解之----进阶篇

CocoaPods详解之----进阶篇作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/18737437转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、Podfile.lock文件上文讲过,在开始使用CocoaPods,执行完pod install之后,会生成一个Podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它。

2014-02-19 16:19:16 36711 6

原创 CocoaPods详解之----使用篇

一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题如果开源库有更新的时候,还需要将工程中使用的开源库删除,重新执行前面的三个步骤,顿时头都大了。。。自从有了CocoaPod

2014-01-26 17:26:42 67593 9

原创 nil/Nil/NULL/NSNull的区别

nil/Nil/NULL/NSNull的区别作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/18413519转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!平时开发过程中经常遇到这几个表示空的关键字:nil、Nil、NULL,一向搞不清楚,作为一个有两年开发经验的程序员,连那么基础的东西都不知道未免太丢人了。首先要说明的是,nil、Nil、NULL三个关键字和

2014-01-18 14:11:57 8317 4

原创 内存管理原理----《Objective-C高级编程:iOS与OS X多线程和内存管理》读书笔记

《Objective-C高级编程:iOS与OS X多线程和内存管理》读书笔记作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/17694129转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、前言这本书由日本人Kazuki Sakamoto和Tomohiko Furumoto所著,主要讲了ARC、Blocks、GCD三个模块。总体来说,书的内容讲的挺深的,小

2014-01-16 23:31:13 9238 1

原创 iOS沙盒目录结构解析

作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致。一、沙盒中几个主要的目录每个沙盒下面都有相似的目录结构,如下

2014-01-14 21:37:43 20357 2

原创 Passbook学习笔记

Passbook实用教程作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/12653673转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!在IOS6推出Passbook功能时,当时只知道它可以将各生活中用到的券以电

2013-12-06 18:33:45 5623 1

原创 Objective-C中的instancetype和id关键字

一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢?二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc或new开头2、实例方法中,以autorelease,init,retain或self开头会返回一个

2013-11-28 19:48:37 21989 6

原创 ARC使用心得(二)

四、使用ARC需要注意的问题1、ARC中读写相关的属性读写相关的属性有 readwrite 和 readonly 两种,如果使用ARC之后,我么需要注意一下 readonly 属性的使用。比如下面的变量声明:@property (nonatomic, readonly) NSString *name;前边说过,NSString类型的指针的默认属性是strong,按理说应该不需要持有所有权了,但是在ARC有效的情况下,将出现下面的错误信息 :“ARC forbids synthesizing

2013-11-21 18:25:33 6249 1

原创 ARC使用心得(一)

很久没有更新日志了,最近的一个月经历了一段炼狱般的开发周期,那动不动加班到凌晨几点的日子,说多了都是泪。。。项目组在三周时间内完成了两个月的工作量,疯狂的赶工期,使得开发过程中没时间研究某个功能使用哪种方式更好,只求能实现,因此也没学到什么新东西,唯一的收获就是学会了ARC的基本使用。可能是用惯了手动内存管理,而且基本上不会有内存泄露的的情况发生,当项目组领导说在新项目中要使用ARC的时候,还有一定的抵触情绪。被赶鸭子上架般的强制要求使用了以后,慢慢被它的优点吸引,ARC确实大大减少了我们开发过程中在内

2013-11-20 20:11:45 4909

原创 《Java语言程序设计(基础篇)》读书笔记 完结篇

第十八章 applet和多媒体Java通过AWT中的Applet类提供了一个开发applet程序的基本框架结构。1、applet应用和Java GUI应用区别:①Java GUI程序直接运行在JVM上,applet应用运行在Web浏览器中;②Java GUI程序都包含main方法,applet程序不包含main方法。互通:每一个Java GUI程序都可以将JFrame替换成JApplet,并将main方法删除后转换成一个applet程序。

2013-10-17 22:29:35 3827

原创 《Java语言程序设计(基础篇)》读书笔记(五)

《Java语言程序设计(基础篇)》读书笔记(五)作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/12719791转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!第十四章 抽象类和接口1、抽象类简单的说,包含了

2013-10-15 23:28:27 3354

原创 《Java语言程序设计(基础篇)》读书笔记(四)

1、Java中异常类型Java API中有很多预定义的异常类,如下图所示:从图中可以看出,Throwable类是所有异常类的跟类。图中所示的异常类可以分为三种主要类型:①系统错误(system error)是由Java虚拟机抛出的,用图中的Error类表示。Error类描述的是内部系统错误,一旦发生,除了尽量稳妥地终止程序外,啥都干不了。②异常(exception)用图中的Exception类表示,它描述的是由程序内部和外部环境所引起的错误,这些错误能被捕获和处理。③运行时异常(runtim

2013-10-14 22:45:04 2352

原创 《Java语言程序设计(基础篇)》读书笔记(三)

《Java语言程序设计(基础篇)》读书笔记(三)作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/12676811转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!第十二章 图形用户界面基础1、Swing和AWT

2013-10-13 22:24:25 3290

原创 《Java语言程序设计(基础篇)》读书笔记(二)

书接上回,进入到重点章节。第八章 对象和类1、类方法Java中用static关键字标识类方法,而在Objective-C中用加号(+)标识类方法需要说明的是,可运行类中的main方法必须是定义成public static void型的静态方法。2、构造方法构造方法具有以下特点:①方法名必须和类名相同形式如下:public ClassName(argument

2013-10-11 00:52:57 4265

原创 《Java语言程序设计(基础篇)》读书笔记(一)

《Java语言程序设计(基础篇)》读书笔记(一)作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/12453865转载请注明出处从2012年毕业,4月份入职到现在,已经参加工作一年半了。这段时间一直从事IOS平台应用开发,虽然自知还有很多东西没学,但也不想在IOS上面投入自己全部的精力。一个好

2013-10-09 00:23:55 6422 3

原创 Xcode开发技巧之code snippets(代码片段)

里面有很多Xcode自带的代码片段,上例中的dowhile就是其中的一个。二、如何自定义代码片段由于项目、所用语言或者编码习惯的差别,不同的程序员习惯用的代码片段也不尽相同,这就有了自定义代码片段的需求,好在Xcode是支持该功能的。@property属性的定义是Cocoa程序开发中很常用的一个功能,下面就以此为例说明如何自定义代码片段。1、书写代码片段在声明@property属性的地方写下如下语句:@property (nonatomic, retain) <#type#> <#name#>

2013-09-29 18:47:22 9577 2

原创 Core Animation之框架简介(一)

最近花了不少时间学习了核心动画(Core Animation),打算用几篇日志来整理看过的内容,大家共同学习。Core Animation在IOS和MAC OSX上略有区别,这里只介绍IOS部分。一、Core Animation简介1、简介Core Animation是一套包含图形绘制、投影、动画的Objective-C类集合,该框架包含在QuartzCore.framework中,它因为被用于处理更为强大的平滑的转场效果而引入OS X Leopard和iOS而出名。Core Animation和其它

2013-09-08 23:12:32 4750 1

原创 UIView的alpha、hidden和opaque属性之间的关系和区别

opaque该属性为BOOL值,UIView的默认值是YES,但UIButton等子类的默认值都是NO。opaque表示当前UIView是否不透明,不过搞笑的是事实上它却决定不了当前UIView是不是不透明,比如你将opaque设为NO,该UIView照样是可见的(上文说过,是否可见是由alpha或hidden属性决定的),照理说为NO就表示透明,那就应该是不可见的呀?原来,GPU会通过图层一和图层二的颜色进行图层混合,计算出混合部分的颜色,最理想情况的计算公式如下:R = S + D * ( 1 –

2013-08-19 22:53:36 30381 6

原创 KVC/KVO原理详解及编程指南

KVC/KVO原理详解及编程指南前言:1、本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的理解。2、由于KVO内容较少,而且是以KVC为基础实现的,本文将着重介绍KVC部分。一、简介KVC/KVO是观察者模式的一种实现...

2013-08-04 18:28:55 38396 4

原创 Cocoa中retainCount返回值不准的原因

Cocoa中retainCount返回值不准的原因作者:wangzz原文地址:http://blog.csdn.net/wzzvictory_tjsd/article/details/9626017转载请注明出处在使用手动内存管理的程序中,为了验证引用计数的管理是否存在问题,经常使用retainCount方法来返回当前的对象引用计数,如下所示: UIB

2013-07-30 12:14:50 5329 1

转载 2013年iOS开发者薪资调查报告

原文链接:http://www.cocoachina.com/applenews/devnews/2013/0709/6560.html本报告是基于6月在论坛做的iOS薪资大调查活动。首先感谢所有参与调查的会员们。本次共有超过2000名会员参与调查,共1867份有效数据。通过分析这些数据,我们可以对iOS开发者的薪资水平,行业状况等有了一份粗略的了解。 由于调查

2013-07-19 13:40:41 3242

原创 Objective-C通过联合存储为类增加属性及原理解析

联合存储实现方式及底层原理解析作者:wangzz原文地址:http://blog.csdn.net/wzzvictory_tjsd/article/details/9347981转载请注明出处动态语言的最大好处,就是灵活性,主要用到了三种设计模式:1、访问器(accessor)2、类别(category)3、联合存储(associ

2013-07-18 23:55:40 5409

原创 Objective-C非正式协议与正式协议

这两个概念困扰我很久了,一直都很像搞清楚到非正式协议和正式协议有什么区别和联系,下面结合网上的资料和自己的看法谈谈这个问题。一、非正式协议显然这个名词是相对于正式协议而言的。在解释非正式协议之前,先引用两段话:1、在《Cocoa设计模式》第六章类别的6.3.2把类别用于非正式协议一节中,这样写到:非正式协议通常定义为NSObject的类别。类别接口中指定的方法可能会或者可能不会被框

2013-07-11 22:51:10 7557 3

原创 Cocoa Touch事件处理流程--响应者链

一、事件分类对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control Event)今天以触屏事件(Touch Event)为例,来说明在Cocoa Touch框架中,事件的处理流程。首先不得

2013-07-07 19:31:20 14258 6

原创 Objective-C之run loop详解

Objective-C之run loop详解 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作

2013-07-03 21:53:24 41187 6

原创 IOS如何选择图片加载方式:imageNamed和imageWithContentsOfFile的区别

IOS内存稀缺,而图片资源通常又是最占内存的部分之一,因此,选择如何加载图片,对于优化应用内存占用量,能起到立竿见影的效果。通常加载图片的方式有两种:1、imageNamed为什么有两种方法完成同样的事情呢?imageNamed的优点在于可以缓存已经加载的图片。苹果的文档中有如下说法:This method looks in the system caches for an image

2013-06-08 10:33:57 19254 1

原创 IOS开发中的证书和代码签名(code signing)

代码签名的重要性Code signing 对我们来说,最主要的意义就是它能让我们的App在设备上运行。不管是你自己的设备,还是客户的,还是在App store上购买你的消费者。如果没有code signing,你只可以在模拟器上,或者一台越狱过的机器上运行你的应用----当然,仅仅如此是不能满足我们的,模拟器的测试仅仅是一种初步测试,模拟器不能替代真机调试。代码签名涉及到以下概

2013-06-03 17:28:45 15571

原创 非对称加密原理解析

一、加密算法种类1密钥密钥,一般就是一个字符串或数字,在加密或者解密时传递给加密或解密算法,以使算法能够正确对明文加密或者对密文解密。2加密算法分类这世上存在两种加密算法:对称加密(symmetric cryptography)和非对称加密(asymmetric cryptography)。也就是说,你想进行加解密操作的时候需要具备两样东西:秘钥和加解密算法。2.1、对称加

2013-06-03 17:16:16 16650 5

原创 IOS实现Voip应用后台运行需要的几个配置项

voip类的app允许用户使用Internet网络而不是手机的蜂窝网络打电话,因此这一类的app需要保持同它相关的服务的网络连接,用以厚道来电消息和其他数据。IOS系统不是通过一直让app处于激活状态来达到这个目的,而是同样也会将这类的app挂起,但同时会在app被挂起期间接管它的sockets,当这个sockets有数据通信时,系统会再次唤醒处于挂起状态的app,同时将sockets的控制权交还

2013-04-17 19:36:03 10211

原创 Cocoa是什么???

某次上班路上,同事问我:什么是Cocoa?当时楞了一下,对呀,什么是Cocoa?做了将近一年的iPhone应用开发,成天跟它打交道,竟然还不知道这是个什么东西。。。一、什么是Cocoa①Cocoa的来源早些年,苹果公司启动了Copland计划,致力于开发出自己的操作系统,可惜后来Copland计划逐渐的失控了,苹果公司最终决定放弃开发,转向从别的公司购买下 一个版本的Mac OS。在经

2013-03-03 16:45:13 16972 3

原创 Objective-C runtime之消息转发机制(三)

学了那么久的Objective-C,给我的感觉就是它什么都是动态的,你将会听到一个新的名词:一、动态方法解析1、+(BOOL) resolveInstanceMethod:(SEL) sel这是NSObject根类提供的类方法,调用时机为当被调用的方法实现部分没有找到,而消息转发机制启动之前的这个中间时刻。2、@dynamic关键字Objective-C2.0 提供了@dyna

2013-03-02 16:58:37 15934 5

原创 Objective-C runtime之消息(二)

今天开始说说runtime system中最关键的消息相关内容。一、runtime中的消息1、什么是消息进入今天的正题之前,先来说说跟message息息相关的几个概念①message(消息)message的具体定义很难说,因为并没有真正的代码描述,简单的讲message 是一种抽象,包括了函数名+参数列表,他并没有实际的实体存在。②method(方法)method是真正

2013-02-28 15:33:52 14106 6

原创 Objective-C runtime之运行时的基本特点(一)

作为一门动态编程语言,Objective-C 会尽可能的将编译和链接时要做的事情推迟到运行时。只要有可能,Objective-C 总是使用动态 的方式来解决问题。这意味着 Objective-C 语言不仅需要一个编译环境,同时也需要一个运行时系统来执行编译好的代码。运行时系统(runtime)扮演的角色类似于 Objective-C 语言的操作系统,Objective-C 基于该系统来工作。因此,

2013-02-26 23:08:48 21008 2

原创 NSNumber和NSValue对基础C数据类型的对象化封装

由于Objective-C中常用的数据容器,如NSArray,NSDictionary等,只能处理Objective-C中的对象级别的数据类型,对于C中的很多数据类型,如int,float等,无法直接处理。针对这个问题,Objective-C提供了两种存储数据的对象NSNumber和NSValue,能将C中的基本数据类型,包括数值型和结构体型的数据转化成Objective-C可以处理的对象。N

2013-02-26 16:52:45 5806

原创 Objective-C对象之初始化和两段构造法(二)

Objective-C为我们提供了两种初始化对象的方法:Objective-C2.0以后可用的new方法和两段构造法。既然要比较这两种初始化方法,就从它们本身的异同出发吧。一、两段构造法这是Objective-C特有的对象创建方法,书写形式如下:NSString*s=[[NSString alloc] init];所谓的两段构造,就是指将alloc和init分开来写,这和大多数

2013-02-20 23:31:57 3076

原创 Objective-C对象之类对象和元类对象(一)

作为C语言的超集,面向对象成为Objective-C与C语言的最大区别,因此,对象是Objective-C中最重要的部分之一。目前面向对象的语言有很多,Objective-C中的对象又和其他语言中的对象有什么区别呢?下面来简单介绍Objective-C中对象的实现。1、Objective-C中的类谁都知道,所有的对象都是由其对应的类实例化而来,殊不知类本身也是一种对象,先不要对这句话感到惊

2013-02-19 23:44:05 12850 9

原创 国内移动互联网应用开发分析

每天朝九晚五的上班,白天类的半死,晚上回到家里以后什么都不想干,很多时候玩玩手机,接着睡觉,然后,然后一天结束了----这样的日子在过年之前持续了好长一段时间。虽然仅仅毕业半年,感觉自己已经提前进入了那种机械般的生活,日子过的毫无生机。经常在公司呆了一整天后,不知道自己都干了什么,发现没有学到新的东西,对一个初出茅庐,一心想有点小成就的我来说,是件多么可悲的事情。总之,后来给自己提了个口号:有颗积

2013-02-18 22:51:17 2232

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