
iOS
cjsunlight
这个作者很懒,什么都没留下…
展开
-
Xcode调试技巧—在系统抛出异常处设置断点
有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash 又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在 objc_exception_throw处设置断点。设置步骤为:首先在 XCode 按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint。在 Symbol 一栏输入:objc_exceptio转载 2013-08-20 14:34:17 · 809 阅读 · 0 评论 -
Run Loop
学习过程中,将Threading PG中的Run Loops翻译了下,权当是做为笔记。原文见 Run Loops。20110526转载请注明,谢谢。http://www.cnblogs.com/scorpiozj/Run loops是线程的基础架构部分。一个run loop就是一个事件处理循环,用来不停的调配工作以及处理输入事件。使用run loop的目的是使你转载 2013-11-06 16:50:25 · 364 阅读 · 0 评论 -
IOS多线程
ios有三种主要方法:1、NSThread。2、NSOperation。3、GCD。 1、 NSThread:调用方法如下:如果需要函数参数的话,可以通过Object传递。1.1:[NSThread detachNewThreadSelector:@selector(threadInMainMethod:) toTarget:self withObject:nil转载 2013-11-20 17:36:39 · 555 阅读 · 0 评论 -
IOS Table中Cell的重用reuse机制分析
创建UITableViewController子类的实例后,IDE生成的代码中有如下段落:[cpp] view plaincopy- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {转载 2013-11-07 16:48:26 · 604 阅读 · 0 评论 -
iOS UIViewController生命周期
下面是UIViewController从创建到销毁的声明周期:1、创建UIViewController。 我们可以直接手写代码生成一个UIViewController也可以通过XIB生成一个UIViewController。通过- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBund转载 2013-11-07 14:49:29 · 552 阅读 · 0 评论 -
Objective-C在ARC下结合GCD的单例模式和宏模版
单例模式在iOS开发过程中经常用到,苹果提供过objective c单例的比较官方的写法:[cpp] view plaincopystatic MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager { @synchron转载 2013-11-07 17:25:29 · 571 阅读 · 0 评论 -
dispatch_once创建单例
无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有 UIApplication或 NSApplication.什么是单例呢?Wikipedia是如此定义的:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式。或者我的理解是:单例是一种类,该类只能实例化一个对象。 尽管这是单例的实际定转载 2013-11-07 17:56:06 · 300 阅读 · 0 评论 -
iOS消息推送机制的实现
iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。 上图可以分为三个阶段:第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务的iPhone列表转载 2013-11-08 11:39:49 · 344 阅读 · 0 评论 -
iOS 滤镜 和 iOS6 中的Core Image技术
Core Image是一个很强大的框架。它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度, 色泽, 或者曝光。 它利用GPU(或者CPU,取决于客户)来非常快速、甚至实时地处理图像数据和视频的帧。多个Core Image滤镜可以叠加在一起,从而可以一次性地产生多重滤镜效果。这种多重滤镜的优点在于它可以生成一个改进的滤镜,从而一次性的处理图像达到目标效果,而不是对同一个图转载 2013-11-11 17:50:45 · 688 阅读 · 0 评论 -
LazyTableImages范例解析
近来想了解iPhone的多线程处理,查阅到了官方范例LazyTableImages,发现代码中有不仅有多线程处理,还有XML解析和异步下载图片,感觉官方例子真是全面啊,便花了时间好好研究下。LazyTableImages地址:http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/I转载 2013-11-01 14:17:08 · 347 阅读 · 0 评论 -
XMPP协议的原理介绍
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;转载 2013-11-15 17:40:25 · 551 阅读 · 0 评论 -
iOS 7 教程:定制iOS 7中的导航栏和状态栏
iOS 7 教程:定制iOS 7中的导航栏和状态栏注:本文译自Customizing Navigation Bar and Status Bar in iOS 7近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7。最新的iOS 7外观上有大量的改动。从开发者的角度来看,导航栏和状态栏就发生了明显的变化。状态栏现在是半透明的了,这也就意味着导航栏会显示转载 2013-11-15 17:39:22 · 464 阅读 · 0 评论 -
25个增强iOS应用程序性能的提示和技巧(初级篇)
在开发iOS应用程序时,让程序具有良好的性能是非常关键的。这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评。然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的。在开发过程中,有许多事项需要记住,并且关于性能影响很容易就忘记。 本文收集了25个关于可以提升程序性能的提示和技巧,把性能优化技巧分为3个不同的等级:初级、中级和高级 初级转载 2013-08-20 15:25:10 · 383 阅读 · 0 评论 -
25个增强iOS应用程序性能的提示和技巧--中级篇
本文收集了25个关于可以提升程序性能的提示和技巧,分为3个不同的等级:初级、中级和高级。您也可以点击查看初级篇。 在性能优化时,当你碰到一些复杂的问题,应该注意和使用如下技巧:9.重用和延迟加载View10.缓存、缓存、缓存11.考虑绘制12.处理内存警告13.重用花销很大的对象14.使用Sprite Sheets15.避免重新处理数据16.选择转载 2013-08-20 15:48:19 · 373 阅读 · 0 评论 -
25个增强iOS应用程序性能的提示和技巧--高级篇
在开发iOS应用程序时,让程序具有良好的性能是非常关键的。这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评。然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的。在开发过程中,有许多事项需要记住,并且关于性能影响很容易就忘记。本文收集了25个关于可以提升程序性能的提示和技巧。分为3个不同的等级:初级、中级和高级: 高级当且仅当下面这些技巧能够解决问题转载 2013-08-20 15:58:54 · 373 阅读 · 0 评论 -
autorelease探究
CocoaChina用户casual0402分享了一篇有关Autorelease的博客文章。以下是博客的原文。 有时候我们需要延迟一个对象的引用计数减一操作,比如:且方法内部使用了alloc,需要对因此产生的引用计数负责。+ (NSArray *)array{ return [[NSArray alloc] init] autorelease];}不过如果转载 2013-08-20 17:58:57 · 349 阅读 · 0 评论 -
【翻译】iOS Tech Talk:Michael Jruewitz谈性能测试
转自:http://blog.yuzhuohui.info/?p=116英文原文:http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-performance-measurement/这篇文章的来源是iOS5 Tech talk在柏林站的演讲。演讲者是Michael Jruewitz。转载 2013-08-20 16:41:13 · 982 阅读 · 1 评论 -
UIView animateWithDuration 使用详解
转自:http://xmuliushuo.com/archives/20在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果。当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方法。函数原型:+ (void)animateWithDuration:(NSTi转载 2013-08-28 11:33:56 · 526 阅读 · 0 评论 -
CATransform3D 特效详解
关于图层的几个坐标系。对于ios来说,坐标系的(0,0)点在左上角,就是越往下,Y值越大。越往右,X值越大。一个图层的frame,它是position,bounds,anchorPoint和transform属性的一部分。设置一个新的frame将会相应的改变图层的position和bounds,但是frame本身并没有保存。position:是一个CGP转载 2013-08-28 16:54:22 · 419 阅读 · 0 评论 -
iOS 动画总结----UIView动画
1.概述UIKit直接将动画集成到UIView类中,实现简单动画的创建过程。UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持。执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码包装到一个代码块中。2.UIView动画具体创建方法- (void)buttonPr转载 2013-08-28 17:22:45 · 368 阅读 · 0 评论 -
IOS4的多任务机制概述
通过查看官方文档,我们了解到,其后台运行机制,允许三种服务在后台长时间运行,分别是1. 位置服务2. 音乐播放3. VoIP苹果对于这三种服务有一句话是这样说的,“Such applications do not run continuously but are woken up by the system frameworks at appropriate times to pe转载 2014-01-09 15:21:45 · 738 阅读 · 0 评论