LPD-iOS


饿了么物流 iOS 开发组博客

FMWebViewJavascriptBridge:一个轻量级的 JavascriptBridge

简介 FMWebViewJavascriptBridge inspired by react native 是一个轻量级的 JavascriptBridge,只支持 WKWebView iOS 8.0 之后。 导入 pod "FMWebViewJavascriptBridge" 使用 自定义 JavascripInterface 自定义 JavascripInterf...

Weex 获取 .xcassets 中的图片

背景 因为 .xcassets 中的图片资源只能通过 imageNamed: 方法加载,所以需要做一些特殊处理,才能提供给 weex 使用(PS:纯属娱乐,因为 weex 跨平台的特性,这种针对某一端做实现的方案实用价值并不大)。 方案 观察 WeexSDK 发现有 WXImgLoaderProtocol 这个协议,这个协议包含了下面的方法: - (id<WXImageOper...

用代码探讨 KVC/KVO 的实现原理

关于KVC/KVO的实现原理,网上的相关介绍文章很多,但大部分说的比较抽象,难以真切的理解,下面我们直接撸代码来实地探讨下。 演示代码地址:https://github.com/Assuner-Lee/KVC-KVO-Test.git KVC 演示代码 ASClassA.h #import <Foundation/Foundation.h> @interface AS...

iOS 无法获取 WiFi 列表?一定是因为你不知道这个框架

iOS 9 发布之后,苹果推出了 NetworkExtension,利用这个框架可以实现很多和网络相关的操作。本文主要介绍怎样使用其中的 NEHotspotHelper 进行设备 WiFi 列表的获取。 Demo 地址:https://github.com/EyreFree/EFNEHotspotHelperDemo 一. 注意事项 首先,NEHotspotHelper 只在 i...

AntNest 模块完全解耦方案

简介 AntNest 是吸收了 Go 语言的 Interface 模型的 iOS 的 App 模块化解耦编程的框架。 完全解耦的面向接口插件化模块开发运行框架 模块具体实现与接口调用分离 易扩展的模块生命周期、事件分发 设计原则 Go 语言的 Interface 模型 蚁巢的蚁室蚁道模型 基本架构 antRoom 为单独的模块 antCh...

BeeHive —— 一个优雅但还在完善中的解耦框架

前言 BeeHive是阿里巴巴公司开源的一个iOS框架,这个框架是App模块化编程的框架一种实现方案,吸收了Spring框架Service的理念来实现模块间的API解耦。 BeeHive这个名字灵感来源于蜂窝。蜂窝是世界上高度模块化的工程结构,六边形的设计能带来无限扩张的可能。所以就用了这个名字作为开源项目的名字。 在前一篇文章iOS 组件化 —— 路由设计思路分析中,我们分析...

iOS 组件化 —— 路由设计思路分析

前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。 但是用户依旧不满意,继续对开发人员提出了更多更高的要求,不仅需要高质量的用户体验,还要求快速迭代,最好一天出一个新功能,而且用户还要求不更新就能体验到新功能...

ReactiveCocoa 中奇妙无比的“宏”魔法

前言 在ReactiveCocoa 中,开源库作者为我们提供了很多种魔法,“黑”魔法,“红”魔法……今天就让先来看看“红”魔法。 在ReactiveCocoa 中,封装了很多非常实用的“宏”,使用这些“宏”为我们开发带来了很多的便利。 今天就来盘点一下RAC中的宏是如何实现的。 目录 1.关于宏 2.ReactiveCocoa 中的元宏 3.ReactiveCoc...

iOS Flexbox 布局优化

Frame AutoLayout iOS 开发中给系统给我们提供了两种布局,frame 布局 和 AutoLayout 布局,虽然frame布局性能很高 但面对现在越来越丰富的iPhone尺寸,为了适配各种机型需要写更多的无营养代码,造成代码量增多。AutoLayout是iOS6 之后被引入的,由于其蹩脚、冗长的语法,直到出现一些优秀的开源第三方库,自动布局 才真正意义上被应用到iOS...

造轮子 | 如何设计一个面向协议的 iOS 网络请求库

最近开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作。 需要干些啥 对于大部分 App 而言,业务层做一次网络请求通常关心的问题有如下几个: 如何在任意位置发起网络请求。 表单创建。包含请求地址、请求方式(GET/POST/……)、请求头等…… 加载遮罩。目的是阻塞 UI ...

图解 ReactiveCocoa 基本函数

标签(空格分隔): RAC FRP 函数式编程 响应式编程 本文内容仅适用于ReactiveCocoa v2.5 关于函数响应式编程(FRP),可以参考 What is (functional) reactive programming? Specification for a Functional Reactive Programming language ...

LPDMvvmKit 系列之 UITableView 的改造

阅读本文需要对ReactiveCocoa足够了解,也可以参阅图解ReactiveCocoa基本函数 Cocoa Touch Framework无疑是一个很好的框架,特别是对动画的支持,在我接触过的框架中可能是最好的(当然我接触的框架可能比较少),但是就UITableView来说确实存在很多吐槽点,从我个人理解的角度做些分析,尝试去解决这些吐槽点,并给到的解决方案。 UITableV...