Flutter系列:4.基于注解的代码生成应用

2019-03-14
阅读 5 分钟
11k
api数据序列化为model实例是移动开发中很常见也是很基础的技术点,得益于运行时等动态技术在ios开发中我们可以借助JSONModel或者SwiftyJSON很方便的实现序列化,对于刚刚接触flutter的开发者来说其序列化体验无疑是非常糟糕的。本身Dart语言是支持反射的,但是在Flutter中,Dart几乎放弃了脚本语言动态化的特性,如不支...

Flutter系列:3.APP基础设施搭建

2019-01-10
阅读 3 分钟
4.4k
在上一篇文章Flutter系列:2.实现一个简单的登录界面通过一个简单的登录页面带入了Flutter中页面构建的方式以及一些简单控件的使用;在开发一个app前首要的任务往往是搭建app需要的基础结构,比如底部菜单,路由导航,网络请求以及一些常用的颜色、图标、按钮、toast组件等。

block解除了循环引用后还需要注意

2018-11-05
阅读 3 分钟
3.5k
block代码块在开发中常用于异步开发,例如GCD就是提供block的异步块,同时在使用block的时候往往需要注意避免循环引用,而消除block循环引用就是靠__weak来实现,比如:

KVO 让人刮目相看

2018-11-03
阅读 5 分钟
3.2k
KVO在OC中是实现键值(key-value-observing)观察的方式,在设计模式中是典型的观察者模式,当被观察者的键值发生改变时会通知到事先添加的观察者,在app开发中经常被使用,达到事半功倍的效果。但同时KVO在使用的过程中有许多需要特变注意的地方,稍有不慎就会导致app崩溃,不得不让人刮目相看。到底是怎么回事儿呢,下面...

Flutter系列:2.实现一个简单的登录界面

2018-11-01
阅读 5 分钟
10.2k
上一篇文章Flutter系列:1.开发环境配置已经配置好了基本的开发环境,那么这篇将直入主题,实现一个简单的登录页面,实现输入用户名密码点击登录后验证输入有效性,模拟调用api登录,最终弹窗提示登录成功。

Flutter系列:1.开发环境配置

2018-11-01
阅读 2 分钟
4k
Flutter是Google推出的跨平台App开发SDK,通过自己实现高性能引擎相较于RN和Weex的JS桥接方案有本质的性能优势,具体原理对比可以阅读此文移动端跨平台开发的深度解析进一步了解。

iOS短视频播放缓存之道

2018-08-31
阅读 4 分钟
16.1k
一套基于AVPLayer短视频播放缓存库ShortMediaCache GitHub地址。 主要特点: 1.为短视频量身设计,接入方便,不侵占业务 2.边播变缓存,缓存后直接播放 3.预加载功能,秒播下一条短视频 4.自动缓存管理 原文地址 业务背景 公司电商APP接入短视频模块也有半年多的时间了,之间一直在忙着完善业务功能,现在是时候沉淀下来...

method swizzling你应该注意的点

2018-07-24
阅读 3 分钟
9.7k
方法交换是OC运行时特征之一,通过方法交换可以hook方法,在实现一些需求时可以达到事半功倍的效果,但使用不慎同样可能导致难以想象的后果。在使用method swizzling前都应该理解以下注意点。

一款简单好用的UICollectionView横向滚动刷新控件

2018-07-13
阅读 3 分钟
13.7k
点我跳转原文源码地址:(GitHub) 实现功能: 接入简单,不侵入代码 右拉刷新,左拉加载更多 自定义提示文案和加载动画 方便隐藏和显示加载提示文本和动画 支持 ‘没有更多数据’ 提示 接入方式 下载源码,将文件夹 "SideRefresh"添加进工程 引入头文件 #import "UICollectionView+SideRefresh.h" 创建SideRefreshHeader和Si...

iOS响应者链彻底掌握

2018-05-28
阅读 8 分钟
12k
iOS响应者链(Responder Chain)是支撑App界面交互的重要基础,点击、滑动、旋转、摇晃等都离不开其背后的响应者链,所以每个iOS开发人员都应该彻底掌握响应者链的响应逻辑,本文旨在通过demo测试的方式展现响应者链的具体响应过程,帮助读者彻底掌握响应者链。

iOS显示性能优化过程讲解

2018-05-25
阅读 5 分钟
6.7k
iOS系统界面滑动流畅性的保持主要是依靠CPU和GPU两大处理硬件间通力合作的结果,一个视图的显示需要先经过CPU创建、布局计算、对图片解码、文本绘制,然后CPU将计算的结果交给GPU,GPU可能需要对图形进行变换、合成、渲染,GPU然后将渲染的结果提交到帧缓冲区等待下一次的垂直同步信号(V-Sync)到来显示到显示器上,如...