Swift 本以为 Swift 3 之后 Swift 就会稳定了,听闻 Swift 4 还会有 breaking change,本文档 Swift 部分暂时先搁置吧… 链接 类与对象 结构体与枚举 函数与闭包
介绍 感谢你使用 Vant。 以下是关于向 Vant 提交反馈或代码的指南。在向 Vant 提交 issue 或者 PR 之前,请先花几分钟时间阅读以下文字。 Issue 规范 遇到问题时,请先确认这个问题是否已经在 issue 中有记录或者已被修复 提 issue 时,请用简短的语言描述遇到的问题,并添加出现问题时的环境和复现步骤 参与开发 本地开发 按照下面的步骤操作,即可在本地开发 Vant
阅读《入门指南》和《概述》后,可以将该指南用作扩展组件和功能的概述。鼓励开发人员探索和扩展功能。 自定义扩展用户界面 Browser Actions 将图标,工具提示,徽章和弹出窗口添加到工具栏。 Commands 添加触发操作的键盘快捷键。 Context Menus 将 item 添加到 Google Chrome的上下文菜单。 Omnibox 将关键字功能添加到地址栏。 Override P
DiscoveryRequest DiscoveryResponse DiscoveryRequest DiscoveryRequest proto 发现请求:是指在通过某些API,为Envoy节点请求一组相同类型的带版本标签的资源。 { "version_info": "...", "node": "{...}", "resource_names": [], "type_url"
二次开发:
Guarded Blocks 多线程之间经常需要协同工作,最常见的方式是使用 Guarded Blocks,它循环检查一个条件(通常初始值为 true),直到条件发生变化才跳出循环继续执行。在使用 Guarded Blocks 时有以下几个步骤需要注意: 假设 guardedJoy 方法必须要等待另一线程为共享变量 joy 设值才能继续执行。那么理论上可以用一个简单的条件循环来实现,但在等待过程中
同步(Synchronization) 线程间的通信主要是通过共享访问字段以及其字段所引用的对象来实现的。这种形式的通信是非常有效的,但可能导致2种可能的错误:线程干扰(thread interference)和内存一致性错误(memory consistency errors)。同步就是要需要避免这些错误的工具。 但是,同步可以引入线程竞争(thread contention),当两个或多个线程
请参考英文版手册
Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 启动Activity:startActivity() 启动服务:bindService() 传递广播:sendBroadcast() Intent 类型 Intent 分为两种类型: 显式 Intent:按名称(完全限定类名)指定要启动的组件
具体内容在 Pocket
EventBus消息接收者注册流程 EventBus Post流程 postToSubscription()在这个方法中,实现了从发布者到调用者的调用过程。在这里有很重要的几个分支: Main:在主线程中执行。 如果当前线程(post线程)是主线程,则直接invoke; 如果当前线程(post线程)不是主线程,则将消息放入一个HandlerPosterPendingPostQueue的消息队列中,
简介 Binder使用Client-Server通信方式。Binder框架定义了四个角色:Server,Client,ServiceManager以及Binder驱动。其中Server,Client,ServiceManager运行于用户空间,驱动运行于内核空间。Binder驱动程序提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过op
使用mui.trigger()方法可以动态触发特定DOM元素上的事件。 .trigger( element , event , data ) element Type: Element 触发事件的DOM元素 event Type: String 事件名字,例如:'tap'、'swipeleft' data Type: Object 需要传递给事件的业务参数 示例 自动触发按钮的点击事件: var
FIS3 是以 File 对象为中心构建编译的,每一个 File 都要经历编译、打包、发布三个阶段。运行原理讲述了 FIS3 中的插件扩展点;那么本节就将说明一个插件如何开发; 如上图,编译起初,扫描项目目录下的所有文件(不包含指定排除文件),后实例化 File 对象,并对 File 内容进行编译分析; 编译阶段插件 在编译阶段,文件是单文件进行编译的,这个阶段主要是对文件内容的编译分析;这个阶段
插件需要 export 一个函数,函数会接收到两个参数,第一个是 build-scripts 提供的 pluginAPI,第二个是用户传给插件的自定义参数,如下: module.exports = (pluginAPI, options) => { const { context, log, onHook } = pluginAPI; }; pluginAPI