09 2011 档案

摘要:随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。 多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。 异步操作的本质 所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生... 阅读全文
posted @ 2011-09-22 19:59 iPhone Dev 阅读(16862) 评论(5) 推荐(8)
摘要:iPhone自带的备忘录软件有着不错的用户界面,那它的文本线是怎么实现的呢?不知道.知道的大神请留下解决方案.不过几个几天的摸索,总算是想出了一条解决方案来,下面简单的描述下,希望能说的清楚.首先我觉得需要二张图片,一张是编辑区域上面的没有横线的黄色区域,一张是编辑区域带横线的黄色区域需要的组件有:UIScrollView一个,UIView一个,UITextView一个叠加方式为:[UIScrollView addSubView:[UIView addSubView:UITextView]];UIScrollView的背景设为第一张图片形式,即_scrollView.backgroundCol 阅读全文
posted @ 2011-09-19 14:53 iPhone Dev 阅读(1561) 评论(1) 推荐(0)
摘要:在函数声明或定义之前使用了该函数,而且这些函数只在该类中使用,则可以将其声明为私有函数;需要在别的文件中使用的话,则可以将其定义在.h外部文件中,在需要使用的地方import该头文件即可。例如:// 某个类的私有函数定义,也即该类的一个类别。将声明放在该处,而将定义放在类中。// TestObject即为需要定义私有函数的类,Private则为类别名,虽然可以任意选择,但建议定义为Private之类的知名知义的词。不建议使用private,因为private是C++等面向对象语言中的关键字,在toolchain或直接使用gcc编译的话,则会需要一些编译错误。@interface TestObj 阅读全文
posted @ 2011-09-19 08:57 iPhone Dev 阅读(495) 评论(0) 推荐(0)
摘要:转载自:http://blog.csdn.net/kmyhy/article/details/5753090本文的目的,是研究有没有可能在一个TableView中呈现树形数据,尤其是树形菜单。众多的网络资料都强调,Cocoa框架不支持树形视图,苹果推荐程序员使用TableViewController+NavigationController的方式展现树形菜单。如果2-3层的树形数据还可以忍受,万一层次稍多一点,必须反复的用导航按钮在视图中转来转去,显然并不太方便。何况笔者认为2-3层的导航也要切换多次视图,也是一种浪费。一、搭建基本框架 1二、实现树节点 2三、实现树 3四、实现TreeVie 阅读全文
posted @ 2011-09-19 08:56 iPhone Dev 阅读(719) 评论(0) 推荐(0)
摘要:在ViewController中重写touch的事件的方法体就可实现特定的touch功能(但这些touch事件会被加在之上的tableView或scrollView等屏蔽,希望知道解决方案的留下方法).下面代码实现清扫事件- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { messageLabel.text =@"Touches Began"; //开始触摸的方法 [self updateLabelsFromTouches:touches];}- (void)touchesCancelled: 阅读全文
posted @ 2011-09-05 11:48 iPhone Dev 阅读(2740) 评论(2) 推荐(0)
摘要:tableView:cellForRowAtIndex函数当表视图需要一个表视图单元的数据时调用,一般用cellForRowAtIndex参数作为数据来源的索引,直接作为数组下标即可。如果用全局变量作为数据索引,就有两个问题。 1.全局变量需要与实际的数据在数组中的位置同步,需要添加全局变量增加或减小的代码。2.在重新绘制表格的时候需要把全局变量清零,就是当全局变量等于数组元素个数的时候。例如在拨号程序中,原数组中并不是每个元素的数据都是可用的表格单元数据,需要判断布尔属性,控制全局索引自增。在函数开头,添加判断全局变量是否等于数组元素个数的代码,将全局变量清零,否则在上下拖动表格时会出现数. 阅读全文
posted @ 2011-09-05 09:39 iPhone Dev 阅读(900) 评论(0) 推荐(0)
摘要:在重构方法中,存在着一对看似矛盾的双胞胎:“隐藏委托关系”和“移除中间人”。很难说什么程度的隐藏才是合适的,还好,有了Hide Delegate (隐藏委托关系)和Remove Middle Man (移除中间人),你大可不必操心这个问题。因为你可以在系统运行过程中不断进行调整。随着系统的变化,“合适的隐藏程度”这个尺度也相应改变。6个月前恰如其分的封装,现今可能就显得笨拙。重构的意义在于:你永远不必说对不起 ---- 只要把出问题的地方修补好就行了。 阅读全文
posted @ 2011-09-04 13:20 iPhone Dev 阅读(994) 评论(0) 推荐(1)
摘要:原文链接地址:http://www.cnblogs.com/andyque/archive/2011/08/30/2159086.html教程截图: 下面是一篇有澳洲墨尔本的一名全职iOS开发者提供的文章。他在论坛上是一个很摩登的年轻人– Adam Eberbach。 ·Bundle identifier ·provisioning profiles ·App ID ·certificate signing request 对于新手,的确很难一口气搞清楚这些东东到底有什么区别。 下面我们来揭开它们的神秘面纱,在读完这篇文章后,你应该可以把这些东西联系起来 阅读全文
posted @ 2011-09-02 10:51 iPhone Dev 阅读(1069) 评论(0) 推荐(1)