2011年9月28日
摘要:iOS,animation 阅读全文
posted @ 2011-09-28 13:42 scorpiozj 阅读(795) 评论(1) 推荐(0) 编辑
  2011年7月25日
摘要:iOS中多线程编程工具主要有:NSThreadNSOperationGCD这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程编程的利器(ipad2已经是双核了,这无疑是一个趋势).http://www.cnblogs.com/scorpiozj/archive/2011/07/25/2116459.htmlGCD是和block紧密相连的,所以最好先了解下block(可以查看这里).GCD是C level的函数,这意味着它也提供了C的函数指针作为参数,方便了C程序员.下面首先来看 阅读全文
posted @ 2011-07-25 17:16 scorpiozj 阅读(28210) 评论(1) 推荐(6) 编辑
  2011年7月18日
摘要:把工作中遇到的sqlite3问题,总结一下.www.cnblogs.com/scorpiozjrowid和Integer主键及自增属性大多数情况下,sqlite3的表都有一个rowid(也叫oid,_rowid_),这是一个64位的整数,并作为sqlite存储结构B树的主键.因此使用rowid查询会比以其他设定的主键查询,速度会非常快.在做插入操作的时候,对于rowid的值通常情况下不要去指定,让系统自己去决定该去何值。因为sqlite会通过SQLITE_SEQUENCE来追踪表的rowid取值情况.而且sqlite定义了rowid的取值算法:在未超出rowid的范围内,待插入记录的rowid 阅读全文
posted @ 2011-07-18 10:15 scorpiozj 阅读(2553) 评论(0) 推荐(0) 编辑
摘要:对320的程序持久化很感兴趣,于是首先研究了下iOS的多任务机制.对于大多数的应用,如果不是特别需要,用最新的SDK编译出来的程序本身就是支持多任务的—按home键程序进入后台运行(但是注意此时的程序并不是会运行,只是进入后台状态便于其再次进入活动状态,这一点同我们概念中应该有的多任务有区别).而对于一些应用,是需充分运用iOS多任务的特性,如游戏应用和需要网络连接的应用等等.(转载请注明www.cnblogs.com/scorpiozj)多任务机制是苹果在iOS4中引进的,我们首先新建一个工程,查看下appdelegate文件中的内容:App cycle- (BOOL)application 阅读全文
posted @ 2011-07-18 10:08 scorpiozj 阅读(5106) 评论(0) 推荐(0) 编辑
  2011年6月27日
摘要:20110625http://www.cnblogs.com/scorpiozj/archive/2011/06/27/2091259.html做iphone的,UINavigationController+UItableViewController组合的应用是必须会的,那么我们必须学习下如何使用320来实现此类应用。考虑这样的需求:点击tableview上的feed行就从apple store上获取排名前10的专辑信息,链接:http://itunes.apple.com/us/rss/topalbums/limit=10/explicit=true/xml. 具体流程:程序启动后是一tab 阅读全文
posted @ 2011-06-27 12:50 scorpiozj 阅读(990) 评论(0) 推荐(0) 编辑
  2011年6月26日
摘要:20110625学习并使用KVO有段时间了,在之前也简单的介绍了KVO机制,这种机制提供了监听某些类属性变化的机制.在MVC中,简单的说,通过监听M的变化,可以及时更新V.因为监听属性明确,当有变化时就直接传递到观察者.考虑这样一种情况:请求某网站的rss,并将内容解析出来在tableview中显示出来.因为网络请求以及数据解析需要时间,如果我们把获得的全部数据解析后再显示出来,在用户体验上就会非常不好:用户启动程序后,风火轮可能需要转很久,然后突然就冒出来一大堆的数据.改进的方法之一就是使用KVO,当有一条数据解析好后,就解析出来,直到全部数据解析完.具体的实现步骤:在controller注 阅读全文
posted @ 2011-06-26 21:44 scorpiozj 阅读(1750) 评论(0) 推荐(0) 编辑
  2011年5月26日
摘要:学习过程中,将Threading PG中的Run Loops翻译了下,权当是做为笔记。原文见 Run Loops。20110526转载请注明,谢谢。http://www.cnblogs.com/scorpiozj/Runloops是线程的基础架构部分。一个runloop就是一个事件处理循环,用来不停的调配工作以及处理输入事件。使用run loop的目的是使你的线程在有工作的时候工作,没有的时候休眠。Run loop的管理并不完全是自动的。你仍必须设计你的线程代码以在适当的时候启动run loop并正确响应输入事件。Cocoa和CoreFundation都提供了run loop对象方便配置和管理 阅读全文
posted @ 2011-05-26 14:37 scorpiozj 阅读(14247) 评论(2) 推荐(5) 编辑
  2011年5月17日
摘要:虽然很早就知道Three20这个强大的库,可是一直没有学习怎么用。个人觉得学习最好的方式之一就是记笔记,一来方便以后的温故,二来也可以让人“挑刺”达到交流的目的。最后么,希望通过blog这个平台,可以监督自己的学习进程。20110517学习的时候首先关注了TTCore(看到了core,所以就先从这个下手了)中对cocoa类的category。比如说NSString,就有判断空格换行,解析url请求,生成MD5等等。还有NSDate,有很多格式化时间输出字符串的方法,都很实用。这些category都很容易看懂,使用时从名字能方便的看出效果。在这些方法中,有个函数比较陌生,我把注释一并写在下面。p 阅读全文
posted @ 2011-05-17 13:13 scorpiozj 阅读(985) 评论(2) 推荐(0) 编辑
  2011年3月14日
摘要:对kvo/kvc做了简单的介绍,可作为入门读物。有些术语描述不够精确请指正。欢迎讨论。Kvo是Cocoa的一个重要机制,他提供了观察某一属性变化的方法,极大的简化了代码。这种观察-被观察模型适用于这样的情况,比方说根据A(数据类)的某个属性值变化,B(view类)中的某个属性做出相应变化。对于推崇MVC的cocoa而言,kvo应用的地方非常广泛。(这样的机制听起来类似Notification,但是notification是需要一个发送notification的对象,一般是notificationCenter,来通知观察者。而kvo是直接通知到观察对象。)适用kvo时,通常遵循如下流程:1 注册 阅读全文
posted @ 2011-03-14 13:40 scorpiozj 阅读(4233) 评论(8) 推荐(1) 编辑
  2011年1月25日
摘要:对这几个也算不上有很深的理解,只是平时用到些许timer,thread。想起有次去baidu笔试遇到runloop和timer等的区别,当时就不会。两三月过去了,如今终于稍微整理了下。有不对的地方盼指正。(转载请注明)·NSThread:常见的线程每个进程里都有多个线程,我们一般如下实用thread:[NSThread detachNewThreadSelector:@selector(myThreadMainMethod:) toTarget:self withObject:nil];如果函数需要输入参数,那么可以从object传进去。你也可以这样实现NSThread* myThread = 阅读全文
posted @ 2011-01-25 13:24 scorpiozj 阅读(1787) 评论(1) 推荐(0) 编辑