深入理解计算机系统——内存
缓存,有层级概念hierarcy,多级缓存理想状态下,指令和存储构成最简单的计算机系统运算功能内存大小限制内存访问速度cpu 算数逻辑单元ALU运算速度单位时间内运算速度有限 所以要1、提高计算速度2、提高I/O速度及对应两种设计理念——计算密集型和IO密集型 听说过迪奥西多城墙么?cpu存在“内存 ...
阅读更多
读《重构——改善既有代码的设计》
Tips重构后即运行测试。小步修改,每次修改后就运行测试,每次成功的重构后就提交代码,可以轻松地回滚到上一个可工作的状态。好代码的检验标准就是人们能否能轻易的修改它。软件的性能通常至于代码的一小部分相关,改变其他的部分往往对总体性能贡献甚微。对于重构过程中产生的性能问题,大多数情况下可以忽略它,先完 ...
阅读更多
读《禅与 Objective-C 编程艺术》
关于单例要注意两个问题,一是线程安全问题;二是要确保它是一个单例。 线程安全问题推荐通过使用 dispatch_once() 来解决,取代 iOS4.0 之前没有 GCD 时期使用的 @synchronized 方案。 123456789+ (instancetype)sharedInstance& ...
阅读更多
愉快的leetcode
写这篇分享的时候,回忆起上大学那会儿的算法课,现在想起来都瑟瑟发抖。课本是三大圣经之一的《算法导论》,我们一群刚从从新手村里出来的弱鸡,看着前面这座大山,内心十分抗拒。那会儿的想法是,学这个有用吗?其实不光是算法,西电在本科期间设置的课程大多不涉及工程领域,四年时间,三年半都在学数据结构、算法、计算 ...
阅读更多
重新起飞
15年搭了这个blog,那会儿才刚开始学iOS的时候,零零碎碎写了写东西就急急忙忙的去实习、校招、毕业…..各种各种,后来工作之后的大部分笔记都放在了Evernote上,也没怎么整理发出来。 其实还是应该多写写东西发出来的,有产出才算真的理解某个东西。所以时隔将近四年决定重新装修一下开门儿营业,再次 ...
阅读更多
XML/JSON数据解析
除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,GCD多线程编程,不做详细介绍,在代码出现的地方会注明。 先安利一波: JsonXML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格 ...
阅读更多
UI组件学习(个人整理)
最近把iOS里的UI组件重新整理了一遍,简单来看一下常用的组件以及它们的实现。其实现在这些组件都可以通过Storyboard很快的生成,只是要向这些组件能够变得生动起来并且赋予它们更具生命力的事件,还是需要一番功夫的。 UIButton这儿有一篇教程,挺全的,可以参考下:http://www.cn ...
阅读更多
自定义并使用自己的ViewController
iOS6以后,在新建工程时已经没有了以前的Empty Application,往往新建的是Single View Application,而这个模板却自带了ViewController。在实际的应用中,我们往往需要自定义ViewController,要使用更易理解的命名,这时候,系统默认的这个家伙就 ...
阅读更多
从一道题看Delegate
继上次通过Storyboard完成了简单地页面跳转之后,我发现了很多问题,比如从第二个页面回跳到第一个页面,并不是依照正向跳转那样简单地模仿就好,在实际运行中会发现程序报错了。这次,我们将结合一道经典的题目,完成对页面跳转、传值以及附带的相关键盘输入的问题总结。题目源自《iOS开发之美》一书,有兴 ...
阅读更多
Storyboard页面跳转
Storyboard(分镜or故事板)一词源于电影业,在漫画创作中也很常见,它在电影或者漫画创作中扮演着“诠释者”的角色,主要是对作品中的各种事件进行描述,比如它们的发生顺序、观察角度、相互之间的关联等等。 苹果自iOS5开始推出了开发领域的Storyboard,并建议UI开发使用,旨在代替历史悠 ...
阅读更多