摘要: 原文:http://zhuanlan.zhihu.com/iOSRe/19646016Reveal查看任意app的高级技巧hangcom·12 小时前Reveal是一个很强大的UI分析工具,与其他几个功能相近的工具(比如PonyDebugger)相比,其最大的特点就是非常直观,用来查看app的UI布局非常方便。其常规用法是将framework集成至Xcode工程中,可参见Reveal的官网Reveal App,但我们这次讲述的却是非常规用法。在12/21的#阿里技术嘉年华#上,我给听众展示了使用Reveal查看任意app的效果,估计是当时所展示的工具中最亮眼的一个。既然如此,我就提前 阅读全文
posted @ 2013-12-30 22:11 yingkong1987 阅读(763) 评论(0) 推荐(0) 编辑
摘要: 原文:http://noark9.github.io/2013/12/28/cocoa-drawing-guide-study-part-1/简介cocoa drawing由AppKit提供并且也兼容其他的模式:Quartz,OpenGL,Core Image,Core Video,Quartz Composer,PDF Kit,QuickTime基于Quartz,所以AppKit提供了Quartz相关的功能基于path的绘图创建,加载,显示图片布局和显示文本创建,显示PDF半透明阴影色彩管理变形打印抗锯齿渲染OpenGLcocoa drawin基于Quartz可以利用硬件资源进行渲染,并且使 阅读全文
posted @ 2013-12-29 00:50 yingkong1987 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: iOS.Book.Effective Objective-C 2.01. 中文翻译版 (更新中)https://github.com/HagerHu/effective-objective-c-2.02. Book的主页 和 代码主页http://www.effectiveobjectivec.comhttps://github.com/effectiveobjc/codehttp://www.galloway.me.uk/2013/05/effective-objective-c-2-dot-0/3. 国内开发者的学习笔记http://blog.csdn.net/alfred_kwong/a 阅读全文
posted @ 2013-12-25 17:13 yingkong1987 阅读(369) 评论(2) 推荐(0) 编辑
摘要: 转自:http://ansonzhao.com/blog/2013/11/28/thread-safe-class-design/翻译自Thread-Safe Class Design线程安全Apple的框架首先让我们来看一下Apple的框架。一般情况下,除非提前声明,否则大多数类默认不是线程安全的。一些是我们所期望的,但是另一些却会相当有趣。其中甚至有经验的iOS/Mac开发人员常会犯的错误是在后台线程中访问部分UIKit/AppKit。最容易犯的错误是在后台线程中对property赋值,比如图片,因为他们的内容是在后台从网络上获取的。Apple的代码是性能优化过的,如果你从不同线程去改动p 阅读全文
posted @ 2013-12-13 00:23 yingkong1987 阅读(1759) 评论(0) 推荐(1) 编辑
摘要: 做iOS开发的时候,常常会遇到crash,需要分析call stack的时候。有时候App在别人的设备崩溃,把crash report在自己的机器上打开,Xcode没有自动的进行符号化。这时候就需要自己去把地址解析成符号。大前提是,必须有相同版本App对应的.dSYM文件。这时候打开Terminal,进入到build/Debug-iphoneos使用命令:$atos -arch arm7 -o XXX.app/XXX 0xabcdefXXX是你的App名字,用需要解析的地址替换上面的0xabcdefarm7是编译App时所用的Architecture,也可能是arm6,如果在simulator 阅读全文
posted @ 2013-12-12 14:34 yingkong1987 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 本文主要探讨一些常用多任务的最佳实践。包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等。 其实编写异步处理的程序有很多坑!所以,本文所涉及的样例都尽量采用简洁直观的处理方式。因为越是简单的逻辑结构,越能彰显代码的脉络清晰,越易于理解。打个比方,如果在程序中使用多层次的嵌套回调,基本上这个它会有很大的重构空间。Operation Queues vs. Grand Central Dispatch目前,在iOS和OS X 中,SDK主要提供了两类多任务处理的API:operation queues和Grand Central Di. 阅读全文
posted @ 2013-12-11 11:46 yingkong1987 阅读(390) 评论(0) 推荐(0) 编辑
摘要: http://blog.xcodev.com/blog/categories/ioskai-fa/ 阅读全文
posted @ 2013-12-10 12:57 yingkong1987 阅读(336) 评论(0) 推荐(0) 编辑
摘要: NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor],UITextAttributeTextColor, ... 阅读全文
posted @ 2013-12-09 20:09 yingkong1987 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 在代码中使用Autolayout时,大家都会使用NSDictionaryOfVariableBindings这个宏,这个宏可以生成一个变量名到变量值映射的Dictionary。比如NSDictionaryOfVariableBindings(button1, button2)将会生成一个{ @"button1" = button1, @"button2 = button2 }的Dictionary。它是怎么做到的呢?我们来看看这个宏的定义:#define NSDictionaryOfVariableBindings(...) _NSDictionaryOfVari 阅读全文
posted @ 2013-12-08 02:23 yingkong1987 阅读(446) 评论(0) 推荐(0) 编辑
摘要: NSTimeZone**时区是一个地理名字,是为了克服各个地区或国家之间在使用时间上的混乱。基本概念:GMT 0:00 格林威治标准时间; UTC +00:00 校准的全球时间; CCD +08:00 中国标准时间 [来自百度百科]夏时制,英文"DaylightSavingTime"。夏季时将时区内的时间提前(一般为1小时),以节省资源,提高效率。使用夏时制期间,当前时区相对于GMT的时间偏移量会发生变化。在某些应用中可能需要考虑。任何时区都以GMT为基准,即,任何NSTimeZone对象所代表的时区都是相对于GMT的,这里的相对性是NSTimeZone中最重要的属性,我们 阅读全文
posted @ 2013-11-27 11:52 yingkong1987 阅读(961) 评论(0) 推荐(0) 编辑