摘要: 容易发现Cocoa Foundation 中提供了一些可变参数的方法,如:NSLog(NSString *format, ...) 在实际的编程实践中,我们也需要自己实现可变参数的方法。在Objc中,是依靠原生C库来的实现的。请看示例: 1 - (void) doLog:(NSString *)fo... 阅读全文
posted @ 2014-05-05 18:16 bohan 阅读(582) 评论(5) 推荐(0) 编辑
摘要: 看iOS SDK 方法返回的类型都是NSInteger,但是官方给出的示例代码一般for循环的计数器就都是int了。- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;for (int i=0; i<10; i++) {}到底int 和NSInteger有什么区别。其实也没有什么神奇的地方,只要跟踪到他们的定义就可以看到:#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TAR 阅读全文
posted @ 2014-03-22 21:46 bohan 阅读(759) 评论(0) 推荐(0) 编辑
摘要: NSOperation是没法直接使用的,它只是提供了一个Task的基本逻辑,具体实现还是需要你通过定义自己的NSOperation子类来获得。如果有必要也可以不将NSOperation加入到一个NSOperationQueue中去执行,直接调用起-start也可以直接执行。 阅读全文
posted @ 2014-03-19 23:39 bohan 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 多线程,简而言之,就是提供代码的多个执行路径,对于App性能和用户体验都有着至关重要的意义。在iOS开发中,Apple提供了不同的技术支持多线程编程,主要有NSThread、NSOperationQueue、GCD等多线程技术,从本篇主要对NSThread方式做一个总结。 阅读全文
posted @ 2014-03-17 18:55 bohan 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 最近一个项目用到了自定义地图标注,标注是自定义的动画实现的,在自定义的类@interface BIDAnnotationView : MKAnnotationView 中用UIImageView定义了这样一个动画UIImageView *m_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(-8, -8, 16, 16)]; [m_imageView setAnimationImages:[NSArray arrayWithObjects:[UIImage imageNamed:@"black.png"],[ 阅读全文
posted @ 2012-12-19 10:53 bohan 阅读(356) 评论(0) 推荐(0) 编辑
摘要: —— 使用Property lists 保存数据1. Proerty lists 简介Property lists(属性列表,保存的文件格式为plist)使用几种特定的数据对象将数据组织为键值对或值列表的形式。文件以xml的格式存取,这就提供了高效地以有意义的结构,可传输,可存储,可访问的产生数据的形式。 Property lists 的存储方式在ios和mac os X中经常使用。2.Property list 中的数据类型和数据的表示方式Abstract typeXML elementCocoa classCore Foundation typearray<array>NSAr 阅读全文
posted @ 2012-09-26 17:44 bohan 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 代码的一生是悲催的,辛辛苦苦跑完了生命的全程结果什么也不会带走,所有的数据随着代码的粉身碎骨而灰飞烟灭。正如古人所曰数据乃身外之物,生不带来,死不带走。古人又曰了:人过留名,雁过留声。代码总想在自己有限的生命中做一些什么来证明自己曾经活过。 幸运的是作为一坨iOS代码至少可以以四种方式把自己的数据保存下来。1. iOS文件系统的四种数据持久化机制:Property listsObject archives(or archiving)SQLite3 (iOS 嵌入式关系数据库)Core Data( Apple 提供的数据持久化工具)顺便提一下,除了上面列出的四种常用的数据持久化方式外,在i... 阅读全文
posted @ 2012-09-21 16:53 bohan 阅读(384) 评论(0) 推荐(0) 编辑