事件处理原理(IOS篇) by sixleaves】的更多相关文章

前言 了解IOS事件处理的本质关键要先掌握几个概念.首先是事件的派发(Event Delivery)的过程, 一个是响应者链条如何构成. 事件的派发: Q1: 你有没有想过,如果你一个屏幕中有多个的View.当你点击某个view的时候, 这个点击事件是如何传递到这个View身上的? S1: 正是因为当我们点击屏幕上某个点的时候, IOS会检查到手指触摸操作(Touch),并生产一个UITouch对象,将其打包成一个UIEvent对象.然后将其放入当前活动的Application的事件对列, UI…
前言 在网上看了别人做的模仿网易彩票的项目, 于是也跟着用自己的想法做了一篇.写这篇博客的目的, 在于UI综合的一次小练习, 同时总结和串联其各个控件之间的应用.封装思想等.考虑到有人上不了github, 代码会在最后一次性发到百度云盘, 敬请关注 工欲善其事, 必先利其器 一.画其形: 在做该项目前, 我们先把项目的大体框架搭好.再依次迭代开发, 逐渐完善所有的功能.首先: 观察网易彩票项目的app, 先在手机上把整个app的功能都浏览一篇.可以大体上分析出框架的结构.分析: 很明显在一进入的…
02-彩票项目第二季 2.封装SWPTabBar方式一 接着我们思考如何进行封装.前面已经将过了为什么要封装, 和封装达到的效果.这里我们主要有两种封装方式,分别是站在不同的角度上看待问题.虽然角度不同但是内部最核心的思想还是一样的,就是屏蔽控件内部是如何构造的细节, 为外界提供简单容易理解的接口.方式一: SWPTabBar屏蔽所有内在细节,只需提供要创建的控件个数.就可以创建出SWPTabBar的大体框架.接着有几个方法可以用来设置TabBar内部按钮的数据.简单来说只需提供1. 设置按钮个…
利用内存结构及多线程优化多图片下载(IOS篇) 前言 下载地址, 后续发布, 请继续关注本blog 在IOS中,我们常常遇到多图片下载的问题.最简单的解决方案是直接利用别人写好的框架.但是这如同练武,只练外功而不练内功.在这些框架中,SDWebImage这个框架是比较常用的框架,对于该框架的使用,不在这再做详细介绍.主要从计算机的视角和多线程引发的一些问题来分享下如何自己做,或者说SDWebImage大体上也是基于这种方式来做的.在这之前,有必要先说下一些操作系统的基本架构和原理. 内存结构 其…
将JSON映射为实体对象(iOS篇) iOS开发人员已经习惯于将JSON转换为字典或者数组来进行操作了,接下来我要做的事情,可能匪夷所思,但是,对WP和Android开发人员而言,他们更倾向于将JSON转换为实体对象进行操作. 我所设计的客户端框架,三个平台之间互相取长补短,保持统一的思想,而其中最重要的一环就是,面向对象的编程方式. 书接上文,我在异步调用完MobileAPI并成功获取到JSON后,仅仅将其转换为jsonValue,如下所示: 后续要做的事情,就是把jsonValue转换为实体…
[原创]分布式之数据库和缓存双写一致性方案解析(三)   正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 先删缓存,再更新数据库,再删缓存 这一方案作为缓存更新策略,而不是先更新数据库,再删缓存.并且搬出了两篇大佬的文章,<Cache Aside Pattern>,<缓存与数据库不一致,咋办?>,希望博主能加以说明.因为问的人太多了,所以才有了这篇文章的诞生. 正文 在开始这篇文章之前,…
调用MobileAPI的设计(iOS篇) 这一节讲如何发起网络请求. iOS用于调用MobileAPI的第三方组件很多,我们这里采用的是以下组件: 1)ASIHTTPRequest,用于请求MobileAPI:http://allseeing-i.com/ASIHTTPRequest/ 2)SBJson,2.3版本,用于解析JSON:http://stig.github.com/json-framework/ 由于我们在MyLib中引用了SBJson,它里面有一个Category名为NSStri…
自定义生命周期的设计(iOS篇) 首先要确定一点,我们的App,要基于XIB文件进行编程,而不是在每个相应的ViewController里面去手动创建页面的每个控件.这样做的好处是,将页面布局与业务逻辑彻底隔离.于是我们可以把xib的绘制工作交给美工人员,而iOS程序员,主要关心的是业务逻辑. 有人会怀疑过多的xib会导致App体积变大,我曾经有专门看过ipa文件解压后的文件列表,我发现每个xib也就2k大小,而一个App最多也就七八十个xib,那么就是说共计150k大小的样子,由于是xml文本…
项目结构的设计(iOS篇) 本文附带源码:YoungHeart-Chapter-02.zip 在设计任何一个框架之前,都应规划好项目结构. 假定Git作为我们的项目管理工具.我们要建立两个仓库,一个用于存放我们的框架,另一个用于存放我们的项目,后者引用前者. 对于iOS而已,大部分开发者已经习惯于就一个project,所有的功能.页面都做在上面,倒也没错.然而我现在要做的是,要让我所设计的框架,脱离于项目而存在,这样,明天我也许会做另一个项目,但是所使用的框架确是同一个. 为此,iOS需要用到w…
极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知.笔者将基于官方说明与个人理解来谈一下这四种消息.本篇为 iOS 篇,Android 篇入口. 1.通知 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息.iOS :JPush 代理 Apple 官方的 APNs 通知. 特别说明 使用 JPush 中的通知,相当于使用苹果官方的通知推送. iOS 10 新增了 delegate 协议方法,极光新版 SD…