摘要:最近在看大神Casa的文章《跳出面向对象思想(一) 继承》,脑洞大开。文章给我们展示了一个随着产品需求不断变化的例子,该例子中通过继承实现不同页面的搜索视图和搜索逻辑的代码复用,随着产品需求的演变,最后导致继承的搜索功能层级越来越深,相互依赖越来越严重,最后导致拔出萝卜带出泥,又随着个性化需求的发展
        
阅读全文
 
        
     
    
        
        
摘要:前言 古老的MVC架构是容易被iOS开发者理解和接受的设计模式,但是由于iOS开发的项目功能越来越负责庞大,项目代码也随之不断壮大,MVC的模糊定义导致我们的业务开发工程师很容易把大量的代码写到视图控制器中,行业中对这种控制器有个专业词汇Massive ViewControler(臃肿的视图控制器)
        
阅读全文
 
        
     
    
        
        
摘要:1.指导原则 2.布局 程序布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。同时,对于普通程序员来说,养成良好的编程习惯有助于提高自己的编程水平,提高编程效率。因此,统一
        
阅读全文
 
        
     
    
        
        
摘要:今天公司的小兄弟问了tableView:didSelectRowAtIndexPath:不能执行的问题。 从经验看觉得可能是控制器没有成为tableView的代理所致。但代码中已经添加了代码 _tableView.delegate = self; _tableView.dataSource = se
        
阅读全文
 
        
     
    
        
        
摘要:HooDatePicker 介绍(introduction) ==================================================项目需要一个DatePicker,只显示年月,而且选中的时间高亮显示(苹果默认的只显示灰色),研究多个代码后没有达到预想效果,没办法只能动
        
阅读全文
 
        
     
    
        
        
摘要:学习iOS开发的时候,得益于开源社区的大量开源项目,去年开始购买了个人开发者账号,写了这个练手项目《丁丁美图》,并上传到了App Store(Ipad版本被驳回也懒得处理)。现在将代码开源出来,供初学者学习吧。 项目简介 一款美图展示APP,使用著名图片分享网站500PX(https://500px
        
阅读全文
 
        
     
    
        
        
摘要:开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之。 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系。以后多花点时间把
        
阅读全文
 
        
     
    
        
        
摘要:在公司开发项目中需要弹出展示从网络上下载的图片,并提供滑动展示功能。目前采用同事开发的图片浏览器,后期有时间想优化一下。所以重温了下以前开发的类似微博的项目中的图片浏览器代码,并抽取出来封装成了现在这个框架。 目前功能还比较简陋,有时间慢慢优化。扩展本地和网络图片以及其他支持吧。 Github下载地
        
阅读全文
 
        
     
    
        
        
摘要:最近和另外一位同事负责公司登录和用户中心模块的开发工作,开发周期计划两周,减去和产品和接口的协调时间,再减去由于原型图和接口的问题,导致强迫症纠结症状高发,情绪不稳定耗费的时间,能在两周基本完成也算是个不小的奇迹了。本文就总结一下如何满足产品需要的情况下,高效开发一个登录注册模块。 1.利用继承...
        
阅读全文
 
        
     
    
        
        
摘要:我们在做iOS开发过程中,静态页面的开发比开发动态页面更让我们开发者抓狂。因为动态页面通常是一个页面一种cell样式,作为开发者只需要专注于定制好一种样式之后,就可以使用数据填充出较好的界面。而静态cell,则可能因为一个页面有多种cell样式,而且很有可能不是标准的cell样式,需要我们自定义,因...
        
阅读全文
 
        
     
    
        
        
摘要:作者:David McGraw 翻译:丁丁(jackiehoo)原文:http://www.xmcgraw.com/what-you-need-to-know-to-start-learning-how-to-code/译者注:这篇文章是我在一个月前看到的,文章的内容基本表达我转行从事iOS开发时候...
        
阅读全文
 
        
     
    
        
        
摘要:这个问题开发者经常碰到,因为当我们更新手机iOS版本的时候,可能我们开发人员因为项目的需要等原因并一定愿意更新xcode到最新版本。但是老版本的xcode极有可能不支持最新的iOS版本,也有一些旧的iOS版本也不支持。今天把它总结在这里,以后遇到这个问题我会及时更新最新的iOS配置包文件夹到百度...
        
阅读全文
 
        
     
    
        
        
摘要:iOS开发中网络请求技术已经是移动app必备技术,而网络中文件传输就是其中重点了。网络文件传输对移动客户端而言主要分为文件的上传和下载。作为开发者从技术角度会将文件分为小文件和大文件。小文件因为文件大小比较小导致传输所需时间少传输就快,因此不太容易影响用户体验,可用的技术就多。而大文件因为文件大...
        
阅读全文
 
        
     
    
        
        
摘要:最近参加三次面试都有被问到runtime,因为不太懂runtime我就只能支支吾吾的说点零碎。我真的好几次努力想看一看runtime的知识,因为知道理解它对理解OC代码内部变化有一定帮助,不过真心觉得对开发没啥意义和用处,又是纯C的代码,现在开源项目那么多,基本都能参考别人的代码达到自己的目的。...
        
阅读全文
 
        
     
    
        
        
摘要:单例的意思从字面上就可以略知一二,所谓单例就是确保在程序运行过程中只创建一个对象实例。可以用于需要被多次广泛或者说多次使用的资源中,比如我们常见的网络请求类、工具类以及其它管理类等。比如我iOS开发中常见的系统单例[UIApplication sharedApplication]、[NSUser...
        
阅读全文
 
        
     
    
        
        
摘要:iOS程序的启动过程 程序启动的完整过程大致步骤如下: 1.main函数 2.UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 3.delegate对象开始处理(监听)系统事件...
        
阅读全文
 
        
     
    
        
        
摘要:通知中心(NSNotificationCenter)每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在...
        
阅读全文
 
        
     
    
        
        
摘要:什么是UITableView在众多移动应用中,能看到各式各样的表格数据在iOS中,要实现表格数据展示,最常用的做法就是使用UITableViewUITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳UITableView的两种样式 UITableViewStylePl...
        
阅读全文
 
        
     
    
        
        
摘要:NSOperation简介 1.NSOperation的作用 配合使用NSOperation和NSOperationQueue也能实现多线程编程 2.NSOperation和NSOperationQueue实现多线程的具体步骤先将需要执行的操作封装到一个NSOperation对象中然后将N...
        
阅读全文
 
        
     
    
        
        
摘要:什么是GCD 1.全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 2.纯C语言,提供了非常多强大的函数GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销...
        
阅读全文