移动开发
Vue如何检测数组变化
原理分析:
在数据初始化时调用initData方法,然后通过new Observer对数据进行监测,然后对数据进行判断,如果是数组并且支持原型链,就会执行protoAugment让目标原型链指向arrayMethods,arrayMethods用来改写数组的原型方法。内部会采用函数劫持的方式,当用户调用这些方法(push,pop,shift,unshift,sort,splice,reverse)
iOS中Promise的使用
Promsie的概念是我在学习前端时接触到的概念,简而言之就是避免地狱回调,在异步编程时例如网络请求时,以往对于异步任务完成时的结果往往采取回调的方式,在OC中采取block的形式,swift和JavaScript则可以采用闭包的形式,但是一旦我们的业务比较复杂,就会出现地狱回调,如下情况所示:
Promise的初步了解
我们来考虑下面的场景(有夸张的成分):
我们需要通过一个url1从服务器加
ios 接收到推送消息时实现持续响铃震动效果
项目中需要实现一个功能:收到特定类型的推送消息时,需要一端持续的响铃加震动来提醒用户,普通的推送消息可以播放30s以内的提示音,但是只会震动一下,用ios提供的Notification Service Extension 可以实现连续震动的效果,它不依赖于APP的存活状态,会最多存活30s的时间。具体实现方式如下:
1,创建Notification Service Extension扩展
iOS - 消息发送的完整流程
写在前面
在OC里面,调用对象的某个方法其实就是给这个对象发送一个消息,这个过程我们把它分为三大阶段,分别为:消息发送阶段、动态解析阶段、消息转发阶段,本文将细细剖析这三个阶段,但是在剖析这三大阶段之前我们需要先回顾一下Class的结构。
Class结构
苹果源码最新下载地址请点击:苹果源码
在objc-runtime-new.h中可以看到objc_class结构如下:
struct objc_o
iOS 基础知识(三)
image
目录
一. GCD和OperationQueue
二. CADisplayLink、NSTimer使用注意
三. 内存布局
四. Tagged Pointer
五. copy和mutableCopy
六. OC对象的内存管理
七. AutoreleasePool自动释放池
八. 图片的解压缩到渲染过程
九. 应用卡顿的原因以及优化
十. APP的启动
一. GCD和NS
Android登录拦截场景-探讨多种实现方式
前言
本文是基于之前的系列文章做的一个合集,精简之后整理为一篇长文供大家参考。合集的入口在此。合集内部有每种方案的详细使用手册,大家可以对照本文参考使用。
登录拦截与放行是大部分App开发都会遇到的一个场景,如果你的App有游客模式,但是部分高级功能需要登录之后才能使用。
那么我们就需要在用户点击这个操作的时候校验是否登录,当登录完成之后再跳转到指定的页面或弹窗。如果这些入口很多的话,那么我们就需
14. 类的关系——抽象
1、 Java抽象类
在继承中,抽象是一个非常重要的概念。 类可以是抽象的,方法也可以是抽象的。
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 如形状类是抽象的类,圆、三角形等是具体类。 用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。但是抽象类中不一定有抽象方法。 在面向对象的概念中,知道所有的对象都是
iOS开发 - 「Swift 学习」Swift协议
Swift协议
协议规定了用来实现某一特定功能所必需的方法和属性
类、结构体、枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。
能够满足协议要求的类型被称为遵循此协议
(一)协议的声明
协议的定义方式(关键词:protocol):
protocol ProtocolName {
// 协议内容(声明属性/方法)
}
协议对属性声明的规定
协议用于指定特定的实例
