
开发方法论/设计模式/架构设计及优化
文章平均质量分 59
openglnewbee
这个作者很懒,什么都没留下…
展开
-
一个类簇的实现示例(来自mantle的github主页)
@interface XYMessage : MTLModel@end@interface XYTextMessage: XYMessage@property (readonly, nonatomic, copy) NSString *body;@end@interface XYPictureMessage : XYMessage@property (readonly, n转载 2014-07-31 18:32:30 · 1475 阅读 · 0 评论 -
oneapm的技术博客(简书),用来追溯群里的讨论,mark
http://www.jianshu.com/users/572133740c3f/latest_articles转载 2016-04-06 10:43:04 · 1278 阅读 · 0 评论 -
关于 继承、扩展和协议,深度好文
OC中protocol、category和继承的区别以前还是有点迷糊,面试的时候说的有点混乱,现在结合一些资料总结一下。利用继承,多态是一个很好的保持“对扩展开放、对更改封闭”(OCP)的办法,也是最常见的一种方法。Objective C还支持另外两种语法来支持OCP:Protocol和Category。Protocol只能定义一套接口,而不能提供实现,变相的也是一种Abstract class的转载 2016-04-12 14:43:33 · 1899 阅读 · 0 评论 -
iOS项目结构目录参考图示
对于iOS项目开发来说,一个清晰、合理、易于维护的项目结构目录对于多人协作的开发,也是一件非常重要的事(注意:务必让xcode的工程目录和实际的文件目录一致,否则难以管理)。这里以一个MVC架构的iOS项目(包括iphone端和ipad端,开发技术包括native和hybrid)为例(其他架构在子目录下相应增加个别文件夹即可),给出一个项目结构目录参考图示。原创 2016-04-11 13:38:09 · 3513 阅读 · 0 评论 -
关于cocoa框架,你所要知道的一切(苹果官方文档,cocoa框架核心竞争力,必须收藏!)
https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/Accessibility.html转载 2016-05-28 11:11:43 · 2016 阅读 · 0 评论 -
漫谈移动开发中的组件化
组件化是什么?有人认为这是一种比较高大上的技术(因为大公司都在搞);但我觉得这样表达不太合适。 打个简单的比方,一个公司刚开始有几个人,大家可能分工也不那么明确,有事就商量着来。公司慢慢发展越来越大,出于管理的需要,公司会陆续成立多个部门,人员就会分散到各个部门中。部门内部人的交流相对比较容易;随着公司的发展壮大,跨部门沟通会变得越来越困难。那么这里的公司就相当于我们的项目;而公司的部门就相当于我原创 2016-07-23 17:32:45 · 1379 阅读 · 0 评论 -
老调重弹:对kvo的封装思路
关于kvo,kvo能做什么?kvo作为cocoa框架的重要特性之一,在底层框架中被大量使用。在特定的场合使用该特性往往能够带来难以想象的好处,让整个方案变得相当简洁和优雅。比如大名鼎鼎的下拉刷新的svpulltorefresh框架,其实现采用了category动态添加属性和kvo结合的方案,在egoRefresh框架的基础上获得了极大的改善,使调用者所要书写的代码量直接下降了一个量级。其中的奥秘在于原创 2016-05-28 17:22:29 · 1996 阅读 · 0 评论 -
XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法。 这一章演示了怎么创建测试类,以及如何编写测试方法。测试targets, 测试bundles, 以及测试导航栏在开始创建测试类之前,测试导航栏值得多看上一眼。对于创建测试和完善测试工作来说,如何使用好它是很关键的。 将一个测试target加到工程会创建一个测试bundle翻译 2016-06-25 16:54:08 · 3435 阅读 · 0 评论 -
如何让项目中的代码更易于维护
http://www.cocoachina.com/programmer/20160823/17407.html转载 2016-08-25 14:01:14 · 1377 阅读 · 0 评论 -
mvvm+rac实战分享,mark一下
http://www.cocoachina.com/ios/20170213/18659.html转载 2017-02-15 08:38:40 · 670 阅读 · 0 评论 -
如何接手老代码的讨论,笔者亲身参与
http://www.jianshu.com/p/c6205054de97转载 2016-04-06 10:41:37 · 1362 阅读 · 0 评论 -
客户端架构演进和优化实践的讨论,笔者亲身参与
https://segmentfault.com/a/1190000004526073转载 2016-04-06 10:40:51 · 1074 阅读 · 0 评论 -
编程方法论/架构设计/模式相关转载链接汇总
1.表驱动法,供参考,后需结合代码大全进行理解 http://www.cnblogs.com/jerry19880126/archive/2012/12/16/2820644.html2.实用ios开发技巧(继承自己的viewcontroller等)http://www.cocoachina.com/applenews/devnews/2013/0827/6877.html3.iOS中block的探究 http://www.cocoachina.com/newbie/basic/2012/0718/44原创 2015-08-21 16:00:45 · 734 阅读 · 0 评论 -
关于崩溃等问题的定位总结(使用qcc的一些方法来尝试)
1.把定位崩溃问题这个问题打开(这个有点绕,但确实要这么说,具体请仔细体会),其中可能的定位信息:1.crash日志 2.日常日志2.从crash文件可以分析得到调用堆栈(如果可以通过dsym解出的话),可以得到崩溃的时间,设备类型,系统版本号,crash线程,还有其他额外的提示信息(可能标示着崩溃的原因及一些相关性能数据等),binary images(目前没有发现用处)3.从崩溃时间原创 2013-07-15 18:52:33 · 1297 阅读 · 0 评论 -
ios中的线程安全单例实现
我们这里重点讨论的是线程安全,而不是单例的严格实现(若需要严格实现还需要复写一些方法,更改一些实现代码):gcd实现: static AccountManager *sharedAccountManagerInstance = nil; + (AccountManager *)sharedManager { static dispatch_once_t原创 2013-11-18 10:54:44 · 6359 阅读 · 0 评论 -
使用iOS系统中的编辑联系人界面,其中的思路值得借鉴(继承的思想)
使用iOS系统中的编辑联系人界面On 2012/12/04, in Objective-C, iOS控件, by willonboy http://willonboy.tk///ContactInfoCell.hABPersonViewController *personViewVC;@property(nonatomic,转载 2013-01-20 09:50:47 · 4280 阅读 · 1 评论 -
ios中的设计模式之class Clusters
http://www.cocoachina.com/applenews/devnews/2014/0530/8622.html我对设计模式一直都是一个若有若无的感觉,特别是在手机端开发,觉得用处不是很大,认为设计模式是为了大规模团队合作,分工才能体现出效果。设计模式可以通过分不同的“层”让大家协同开发,相互之间不产生影响。但是最近看法有点改变,觉得还是需要多少了解一些。转载 2014-07-31 17:25:16 · 2716 阅读 · 0 评论 -
如何阅读代码?理论+实践 非常棒
http://www.cocoachina.com/gamedev/misc/2013/0729/6688.html1.尽力构建并运行代码。 这通常是一个简单的步骤,就像你在看可运行的代码(这和随机代码相反)。 不过,并非总是如此。通过构建和执行代码,你能从中学到很多上层代码结构。 说到工作代码,你是否非常熟悉如何构建你的当前项目? 虽然构建通常非常复杂,但通过构建并生成可执行的代转载 2013-08-08 19:25:41 · 1255 阅读 · 0 评论 -
OC下的sdk版本兼容性处理技术原理和最佳实践 - from apple
先上苹果官方链接,不想阅读二手教程的可以直接deep in(给你点赞原创 2018-06-13 17:16:24 · 817 阅读 · 0 评论