Jan102012
Cocoa中实现Key-value coding的5种方法
Key-value coding(KVC)是用来使得一个类的行为摆脱它需要依附执行的特定属性的一种方式。它通常与NSKeyValueCoding协议联系在一起当然也 有一系列其他的方法来实现相同的效果。在这篇文章中,我关注为什么KVC是重要的而且要介绍5种不同的方式来实现这个功能。
介绍
NSKeyValueCoding协议自从Mac OS X10.0起就已经在Cocoa中,但是它给人留下深刻印象是在Mac OS X10.3中当用户接口绑定展示了...阅读全文
抢沙发
Jan102012
iOS-动态调整UITableViewCell的高度
大概你第一眼看来,动态调整高度是一件不容易的事情,而且打算解决它的第一个想法往往是不正确的。 在这篇文章中我将展示如何使图表单元格的高度能根据里面文本内容来动态改变,同时又不必子类化UITableViewCell。你当然可以通过子类化它来 实现,但是这样做会使得代码复杂因为设置高度是在图表本身的实例上而不是对单元格操作。下面你将会看到这其实是一件轻而易举的事情。对于图表来说能...阅读全文
Jan102012
在iOS 4 中实现UI自动测试
初学者级别的iOS 4 UI自动测试指南
Download LoginWindow_Src – 38.4KB
简介
这篇文章的对象是 iOS 4 的初学者,我希望一个典型的iPhone 开发者能够通过这篇文章掌握自动设置UI测试的方法。
背景
UI 自动测试是iOS 4中重要的附加功能,它由名为“Automation”的新的工具对象支持,非常适合Producitivity风格应用的UI测试。
Automation工具从脚本工作(用JavaScript语言编写),它在应用上模...阅读全文
Jan062012
理解 iOS 4的后台处理和委托信息
更新:在流程图中加入了 handleOpenURL,加入了 UIApplicationExitsOnSuspend,理清了一些线条。
如今源代码改动到了iOS 4,我需要停下来考虑修改哪些代码。在更新一个工程时我经常遇到的问题是只有当应用真正运行时 didFinishLaunching 才能被调用。
如果你习惯在未连接Internet时进行一些图像或者文件的刷新,可能会导致一些问题。从后备中恢复的应用无法运行委托方法。所以那些4.0多任 ...阅读全文
Jan062012
iOS-测试一个任意指针是否是有效的对象指针
在这篇文章中,我讲述一个检测是否随机指针是有效的Objective-C对象指针的方法。这个测 试的结果不是完全准确的而且如果不是一个有效指针的话可以与gdb接口调试,因此这并不是一个你会经常用到的东西。但是当你正盯着并未分配过的的内存空间 时它可能是一种方便的调试工具。
介绍
我最初写这段代码是为了遍历来自CFNotificationCenter所有的消息,因为我当时正试图找出在AVFoundation vide...阅读全文
Jan062012
iOS-利用UIWebView实现快速的UITableViewCell
如果你用过UITableView,你会知道必须能够快速地滚动浏览单元格。如果你做过足够的搜索,你可能已经发现Tweetie approach方法使用一个自定义视图而且自己完成绘图。这种方法对于静态文本和图片是不错的。但是当你需要向单元格中文本加入超链接时这种方法就变得困难。问题变成如何向UITableViewCell加入超链接并且保持滚动浏览的速度尽可能快。
第一个方法:
我有一个程序需要这个功能。它...阅读全文
Jan062012
iOS-利用本地数据来代替远程UIWebView请求
在这篇文章中,我将讲述如何在iOS中的UIWebView中加载一个网页,使用修正的NSURLCache来用本地网页资源复本来代替基于远程网页的数据复本。
介绍
正常情况下当你需要写一个具备网络连接的iOS程序,你会想要一个本地的iOS接口能够接收网络上的所有数据。
然而,在项目中总是有一些限制你可以实现的东西,而且有时候你可能想要为用户显示一个规整的页面。
如果你打算采用这种方式,你最好确...阅读全文
Jan052012
如何在Mac上创建一个cocos2d的项目
我已经关注cocos2d小组一段时间了,他们最近的发布版本支持在Mac OS X系统上创建项目。也许是为即将上线的Mac App Store作准备,cocos2d团队正在努力使得从iPhone/iPad到Mac OS X上程序的移植更简单。
目前似乎并不能100%地支持Mac OS X系统,但是基础功能可以实现。你或许比较关心如何使自己iPhone上的项目转而支持Mac OS X,实话说我没找到简单的方法,因此倘若有人可以站出来帮我的话,...阅读全文
Jan052012
iphone不规则形状的按钮
下载clickThruButton1 – 133.64 KB
预先警告:我发布这篇文章是因为代码很赞,并且清晰地阐明了Objective-C进行C语言底层位操作的能力。
如果你需要插入非正规形状的按钮,这篇文章就是为你量身定做的,请下载代码并阅读文章。如果你准备理解并学会使用这种方法,就应该仔细阅读代码。
下面是Jeff LaMarche博客中关于创建非正规形状按钮的文章:
http://iphonedevelopment.blogspo...阅读全文
Jan052012
如何在iPhone应用中避免内存泄露
本篇文章将介绍几个在iPhone APP中避免内存泄露的小技巧
关于所有权
所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)。
创建对象时,所有权通过alloc、new、或者copy的方式建立,之后通过调用retain或者通过Cocoa函数来分配和复制对象的所有权。 内存释放有两种方式,一种方法...阅读全文