iOS网络层设计感想】的更多相关文章

App的开发无外乎从网络端获取数据显示在屏幕上,数据做些缓存或者持久化,所以网络层极为重要.原来只是把AFNetwork二次封装了一下,使得调用变得很简单,并没有深层次的考虑一些问题. 前言 参考: 网络层设计方案 这篇文章提的问题也正是我平时经常纠结的,但是一直没有深入思考.文章给的解决方案和为什么这样做让人茅塞顿开.以下主要就是我的观后感. 三个问题 使用哪种交互模式来跟业务层做对接? 是否有必要将API返回的数据封装成对象然后再交付给业务层? 使用集约化调用方式还是离散型调用方式去调用AP…
苹果新一代智能手机 iPhone 6 发布已经有一段时间了,一些创意设计师已经开始在设计中采用 iOS 8 设计理念.当然,其中有些是对于未来的展望和大胆的设计.我在这里收集了15个很酷的 iOS 8 设计概念,可以让设计师丰富设计思路. 您可能感兴趣的相关文章 构建 iOS 风格移动 Web 应用开发框架 创意设计:折叠效果在移动APP中的应用 45款唯美的苹果 iOS 应用程序图标设计 设计前沿:30款超级精美的iOS图标欣赏 40款 iPhone 和 iPad 应用程序图标设计 Vendo…
前言 普遍我们的网络层设计的时候直接是如下结构APIManager.post(url, parameter,completeHandle),服务器配置在APIManager.m文件中进行配置.这样一个简单便捷网络请求类便写好了,但细心思考我们会发现如下一些问题: 相同API可能分散各处导致每次需要填写的参数key值.回调处理代码也可能会存在冗余. //例如登录功能 APIManager.post("登录APIUrl",{"name":"",&qu…
总所周知,iOS和Android是当今两大移动平台,前者采用Human Interface Design,后者采用Material Design.作为设计师,尤其是App设计师,总是会在这两者进行设计.如果你的产品能在井喷的App里推颖而出,这一定会是超级棒的体验.你做到了,设计改变生活. 那么,如何设计出一款界面精美的移动端App呢? 如果你是为iOS设计应用程序,那么此文你可以好好看一看.我们都知道用户界面会直接影响到用户体验.所以本文中,我首先精心挑选了12款最佳iOS移动应用程序模板和案…
学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable . UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的学习: 一.定义一个输入控件 // 输入控件 @property (nonatomic,strong) UITextField *textField; 二.在viewDidLoad中实例化 - (void)viewDidLoad { [super viewDidLoad]; // 实例化输入框 _t…
ios的设计原则 iOS设计的详细的主要宗旨例如以下: 1.易操作,所关心的主题清新 2.UI控件布局合理,图片质量清新 3.用户的使用习惯 4.字体的大小,主次分明 5.舒适的动画效果 在创建一个新的app或者维护久的app a:依据app主旨设计UI主要框架.并加上附加的视图. b:设计结合用户习惯和体验设计UI原型.加上具体的和装饰UI,使他达到一个静态的app效果 c:考虑版本号和设备的适配问题,也能够征求别人的意见对UI进行调整 d:最后确定UI实现 美丽的UI和流畅的动画总是给人们耳…
iOS界面设计切图小结 APR 12TH, 2013 1.基本尺寸 (1)界面 实际设计时按: iPhone4.4s:640px*960px iPhone5: 640px*1136px iPad:1536px*2048px (2) 图标: 1024px*1024px 圆角180px 提交1024px*1024px 方角 png格式图片 2.图形部件及字体 (1) 为显示清晰 所有图形部件尺寸必须为偶数 样式中阴影.发光.描边的数值也必须为偶数 (2) 为方便用户点击 所有可点击的部件需大于88p…
iOS的设计备忘录 随着iOS7更新,风格走上扁平化,大部分iOS设计师及程序员都需要对自己的软件做相关调整,尺寸.Icon.UI等等,我在这里总结一下相关资料,以及提供一些关于iOS7设计素材. 一.Sizes of App UI Elements 二.App Icons Icon.png                        57*57Icon@2x.png                114*114Icon-Small.png                29*29Icon-S…
数据库设计感想  个人的一点心得体会 最重要的放在最前面——讨论开会时的123经验 开会前对会议目的及方式要有所考虑: 不要随意无目的开会: 遵守时间,控制会议时间长度: 会议主持人要维持会议只需,有明确决定的责任: 避免会中插入无关话题: 调动积极性,尽量把会议开得生动活泼: 主持人对发言进行小结: 发言简明扼要,一次只谈一件事,最好有时间限制: 会议结束后,主持人要和全员核定会议结论: 主持人应该对会议记录负责,进行审核或撰写: 必要时,将会议报告发给与会者. 以上摘自<广西日报>,略有改…
前言 前些天帮公司做了网络层的重构,当时就想做好了就分享给大家,后来接着做了新版本的需求,现在才有时间整理一下. 之前的网络层使用的是直接拖拽导入项目的方式导入了AF,然后还修改了大量的源码,时隔2年,AF已经更新换代很多次了,导致整个重构迁移非常的麻烦.不过看着前辈写的代码,肯定也是一个高人,许多思路和我的一样,但是实现方式又不同,给我很好的参考. 在做网络层架构的时候也参考了Casa大神的架构思想,但是还是有所不同. 本文没有太多的理论,没有太多的专业术语,一来是方便大家阅读,二来我的基础也…
8.UIsearchbar放到Navigationbar 上(意思是建个View作为titleview) //此处调用的是第三方封装的SearchBar,也可以自定义. self.searchBarWithDelegate = [[INSSearchBar alloc] initWithFrame:CGRectMake(, , 44.0, 44.0)]; self.searchBarWithDelegate.delegate = self; UIView *searchView = [[UIVi…
我在做 iOS 开发的时候,发现自己在写程序的时候,常常处于两种状态的切换,我把这两种状态称为软件开发的上帝模式与农民模式.我先给大家介绍一下这两种模式的特点. 上帝模式 处于上帝模式时,我需要构思整个应用的架构设计,如何进行类之间的组织和信息的传递.我有可能会在纸上画一些类图,把关键的几个类之间关系构思清楚.这就类似于建筑师画设计图纸一样. 在这个阶段,我的大脑是努力工作的,我会利用我学到的<设计模式>.<重构>.<代码大全>中的架构知识,先把类的关系组织好.然后我会…
常见问题 你昨天/这周学习了什么? 你为什么热衷于软件开发? 你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的iOS开源项目? 请描述一下你的iOS应用开发流程. 是否熟知CocoaPods?它是什么?如何运行的? 请概括一下你对软件授权的理解,及其对软件开发的影响. 请概括一下你在构建iOS应用时的测试过程.iOS应用如何实现对其他语言.日期格式以及货币单位的支持? 请描述一下Instruments及其作用. 关于iOS技术 请解释一下Han…
1, xCode 2, AppCode 3, Skech 原型设计软件 4, Hype 动画设计工具 5, fontawsome 免费图表 6, Prepo icon, images.catlog 生成工具 7, Material Design 中文版 //--------------------- 灵感 pttrns- 一个很棒的按任务分类的iOS屏幕设计图库.举例来说,如果你想看其他应用如何处理活动feed,在这儿你可以找到一堆的例子.    TappGala - 另一个很棒的优美应用设计的…
概览 缓存组件应该说是每个客户端程序必备的核心组件,试想对于每个界面的访问都必须重新请求势必降低用户体验.但是如何处理客户端缓存貌似并没有统一的解决方案,多数开发者选择自行创建数据库直接将服务器端请求的JSON(或Model)缓存起来,下次请求则查询数据库检查缓存是否存在:另外还有些开发者会选择以归档文件的方式保存缓存数据,每次请求资源之前检查相应的缓存文件.事实上iOS系统自身就提供了一套缓存机制,本文将结合URL Loading System介绍一下如何利用系统自身缓存设计来实现一套缓存机制…
最近一段时间,在思考如何合理的架构一个可扩展性良好的界面编程方式.这一部分的成果做成了一个叫ElementKit的库.目前功能在不断的完善中. 关于iOS的架构,看多了MVVM,VIPER,MVC,MVP,MVCS....的介绍文章.真正实践下来的估计也就是MVC和MVVM了.MVC是系统自带的框架,自然用的多.而MVVM解决了Controller臃肿的问题,再加上神器RAC也被很多团队接纳,甚至有一段时间出现了很多的文章鼓吹该模式如何如何了得.而在设计或者采纳一个架构的时候,我们到底在思考些什…
网络层是iOS开发必须掌握的部分,苹果已经将网络请求封装得非常易用了,看看NSURLRequest和NSURLConnection的文档,你就知道怎么用了,这里我就不细讲了.本文主要讲网络层的调用逻辑,以及如何优化你的网络请求,让请求更有效率. 正常的网络请求的过程一般经历四个过程: 1.组装Request对象,创建Connection对象,当Connection创建完毕后,系统底层会帮你完成3次握手.建立真正的连接等操作 2.收到回应,会调用ConnectionDelegate的didRece…
转:http://esoftmobile.com/2014/01/14/build-ios6-ios7-apps/ 前言 前段时间,苹果在它的开发者网站上放出了iOS系统安装比例,其中iOS7占到78%,iOS6占18%,剩余4%是iOS6以下版本.我们也借此机会将手上正在进行的两个项目都升级到支持iOS6及以上版本呢,有一种幸福来的太突然的赶脚,要知道在此之前我们都还在支持iOS4.3版本. 根据苹果另外一条消息,我们需要按照iOS7风格设计我们的Apps,至于iOS6系统,也没有必要为这部分…
上一篇博客:一款自动汇报工作的微信机器人 上一篇博客中说道,我打算自己做一款能自动汇报工作的微信机器人,可惜学识有限,最后不知道怎么实现让机器人学习我的文本说话,所以就一直耽搁了,见天又打开这个系列,并不是因为我会了,只是我暂时用一种比较笨的办法来实现,所以再次打开这个系列记录一下. 这一次我打算开发一款IOS应用,类似于一个ToDoList,我可以在上面添加今日的工作,然后做完一件工作后就标记完成一件工作,然后就定时自动汇报到微信汇报群里.那么首先了,就是最重要的原型设计.我打算使用快速迭代的…
AutoLayout AutoLayout是一种基于约束的,描述性的布局系统. 程序员—-(cgrect)—>frame(center+bounds)    =====>   程序员—(NSLayoutConstraint)—>AutoLayout—(cgrect)—>center+bounds Autolayout 基本使用方法 interfaceBuilder Alignment Constraints custom Constraints Spacing to nearest…
原文: http://www.csdn.net/article/2015-01-19/2823604-ios-interview-questions 常见问题 你昨天/这周学习了什么? 你为什么热衷于软件开发? 你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的iOS开源项目? 请描述一下你的iOS应用开发流程. 是否熟知CocoaPods?它是什么?如何运行的? 请概括一下你对软件授权的理解,及其对软件开发的影响. 请概括一下你在构建iOS应用…
一.整体架构 1.1 核心逻辑 1个Acceptor线程+N个Processor线程(network.threads)+M个Request Handle线程(io threads) 多线程多Reactor模型,Acceptor独占一个selector,每个Processor有自己的selector 每个Processor都有一个名为newConnections的ConcurrentLinkedQueue[SocketChannel](),Acceptor会round-robin轮询Process…
ref: http://ju.outofmemory.cn/entry/217705 ref:http://gold.xitu.io/entry/57958a41128fe10056be13b1 下面两个函数创建字体: +fontWithName:(NSString *)fontName size:(CGFloat) fontSize 创建并且返回一个指定字体类型和大小的字体对象,fontName指定字体集的名字和风格(例如宋体,楷书等这一类型的),fontsize设置字体的大小. -fontW…
With the release of iOS 7, app designers and developers will need to adjust their visual language to match the new "flat" design of iOS. In addition to the grid system, the dimensions of icons and commonly used elements, typography and iconograp…
dbpy dbpy是一个python写的数据库CURD人性化api库.借鉴了 webpy db 和 drupal database 的设计. 如果喜欢 tornado db 或者 webpy db这类轻巧的db库,或者想发挥原生SQL优势,那么值得一试. Featues 灵活简单 天马行空的SQL构建语法糖 线程安全的连接池 支持读写分离(当前限定只能是一主多副模式) 支持简单事务 Contents Featues Install Development Compatibility DB API…
见微知著,谈移动缺省页设计 http://www.cocoachina.com/design/20150303/11186.html Facebook产品设计总监!设计APP时的14个必考题 http://www.cocoachina.com/design/20150303/11219.html…
创建target有两种方式, 1>.是通过新建target可以通过File-->New-->Target,然后选择其中一个模板来创建,app类型的target进行创建 2>.另一种方法是通过对原有的target做duplicate,复制一份 今天主要讲第二种方式创建target过程: 1.创建工程命名:CeShiTarget 2.在TARGET中选中项目,右键->Duplicate->Duplicate Only 3.经过以上步骤创建出来的target命名为之前工程名+…
1.实体与实体之间的关系,在许多情况下,可以将其实体化为实体(弱实体),例如:员工租赁宿舍,可以将租赁弱实体化为实体(具有唯一主键ID) 2.一些具有特征的关系可以(弱)实体化为实体 3.实体里面可以标记状态…
优设 http://www.uisdc.com Sketch http://www.sketchcn.com…
1.取消系统自带渲染效果 2.取消屏幕旋转 3.项目中搜索丢失文件…