Swift 中模块是什么?当写下 Swift 中一句 import Cocoa 的时候到底做了什么? 1.介绍 Swift 中两种可 import 的模块 2.如何用 Swift 写一个可被其他 Swift 代码使用的模块 3.分析 Swift 的标准库实现方式 第一部分 Clang 模块(系统模块) Clang 模块是来自系统底层的模块,一般是 C/ObjC 的头文件。原始 API 通过它们暴露
# 在Swift中使用MMKV
## 引言
MMKV是一个高性能的键值存储库,主要由腾讯开源,用于安卓和iOS平台上。它的设计灵感来自于Android的SharedPreferences,但在性能和灵活性上进行了改进。在这篇文章中,我们将深入研究如何在Swift中使用MMKV,包括安装、基本操作以及示例代码。
## 安装MMKV
首先,你需要将MMKV添加到你的Swift项目中。你可以使用
这一次,让中国和世界同步
现在是6月12日凌晨4:38,我用了整整一晚上的时间来进行最后的校对,终于可以在12日拿出一个可以发布的版本。
9天时间,1317个 Star,310个 Fork,超过30人参与翻译和校对工作,项目最高排名GitHub总榜第4。
设想过很多遍校对完成时的场景,仰天大笑还是泪流满面?真正到了这一刻才发现,疲倦已经不允许我有任何情绪。
说实话,刚开始发起项目的时候完全没想到
xcode 没有格式化代码的功能,只有缩进整理和多行拆分,习惯前端代码的开发方式,不格式化代码显得有些凌乱,幸好有开源的工具可以实现这样的功能,他就是SwiftFormat。官方地址:GitHub - nicklockwood/SwiftFormat: A command-line tool and Xcode Extension for formatting Swift code安装使用教程:X
转载
2024-07-12 13:35:44
110阅读
字典存储时,key和value值的类型都是固定的,且都是无序的。1.字典类型的缩写语法在swift中,字典的完整格式如下: Dictionary<Key, Value> 注意:字典的key类型必须符合 哈希算法。字典的缩写格式如下: [Key: Value] 虽然完整格式和缩写格式都可以,但是下面介绍字典时主要是以缩写格式为主。 2.创
转载
2024-04-11 22:00:03
67阅读
map这东西在oc中并未用过,但是swift在处理数组的时候显得格外的游刃有余,这归功于map这个函数;map函数 arr.map(<#T##transform: (Int) throws -> T##(Int) throws -> T#>) 其获取一个闭包表达式作为唯一参数,集合中的每个元素调用一次该闭包函数,并返回该元素所映射的值(也可以是不同类型的值)。具
# Swift MMKV 科普
## 介绍
MMKV 是由微信团队开发的一个高性能的 key-value 存储库。相比于其他的存储库,MMKV 具有更高的读写性能和更低的内存占用。它主要用于在移动端保存和读取小型数据,如用户配置、缓存数据等。
Swift MMKV 是 MMKV 的 Swift 版本,它提供了一个简单易用的 API 来访问 MMKV。
## 安装
Swift MMKV 可
原创
2023-09-01 05:45:26
711阅读
1评论
MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期已移植到 Android 平台。在腾讯内部开源半年之后,得到公司内部团队的广泛应用和一致好评。现在一并对外开源:https://github.com/tenc
转载
2023-11-11 20:10:42
91阅读
函数 如果要定义一个函数用来输出一段信息,则代码如下:func sayHello(){
println("Hello Swift")}这种写法非常简洁,我曾在 Dart 语言中见过这种写法,func 是个关键字,用来指明所定义的是一个函数,sayHello 是函数名称,()中是该函数的传入参数。如果还想使用传入参数及返回值,如下所示:func max(a:Int,b:
转载
2023-12-01 11:42:49
60阅读
一、概述KVO<NSKeyValueObserving>,是一个非正式协议,提供了一个途径,使对象(观察者)能够观察其他对象(被观察者)的属性,当被观察者的属性发生变化时,观察者就会被告知该变化。指定一个被观察对象(例如 A 类),当对象某个属性(例如 A 中的字符串 name)发生更改时,对象会获得通知,并作出相应处理;【且不需要给被观察的对象添加任何额外代码,就能使用 KVO 机制
一、SharedPreferences 不同于文件的存储方式,如果要保存的键值集合相对较小,则应使用SharedReferences API。SharedReferences对象指向一个包含键值对的文件,并提供简单的读写方法。 &nbs
转载
2024-06-06 06:59:47
116阅读
这是跟在上一篇博文后续内容:——Swift中相关的属性存储属性Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键var定义)。 存储属性概念: 我们在前面曾用到过属性,Employee类和Department结构体。它们的类图如下,E
转载
2024-03-13 14:22:25
170阅读
# Android MMKV使用指南
## 简介
在本文中,我将向你介绍如何在Android应用中使用MMKV。MMKV是一个高性能的键值存储框架,特别适用于Android平台。它具有易用性、高性能和多线程安全等特点,能够有效地用于存储小数据量的键值对。
## MMKV的集成流程
下面是使用MMKV的集成流程的步骤:
| 步骤 | 描述 |
| --- | --- |
| 1 | 添加MMK
原创
2023-10-18 09:21:43
419阅读
# 鸿蒙 MMKV 使用及其代码示例
## 引言
近年来,随着移动互联网的快速发展,移动应用程序的性能要求也越来越高。为了提高应用程序的性能,我们需要使用高效的存储方案来存储和管理数据。鸿蒙操作系统(HarmonyOS)是华为公司开发的一款全场景智能终端操作系统,鸿蒙 MMKV(Multi-Model Key-Value)是其提供的一种高性能、高可靠性的键值存储组件。本文将介绍鸿蒙 MMKV
原创
2024-01-10 01:01:50
755阅读
分割线高度
原创
2022-06-18 23:42:48
496阅读
# Android Java使用MMKV
在Android开发中,我们经常需要在应用中保存一些数据,比如用户的登录状态、用户偏好设置等。而Android系统提供了SharedPreferences来让我们方便地进行数据的存储和读取。但是SharedPreferences存在一些性能上的问题,尤其是在数据量较大的情况下。
为了解决SharedPreferences的性能问题,Facebook提供
原创
2024-05-31 05:35:51
95阅读
前言在介绍 RxJava 1.x 线程调度器之前,首先引入一个重要的概念 - 事件序列转换。RxJava 提供了对事件序列进行转换的支持,这是它的核心功能之一。 正文1. 事件序列转换定义所谓转换,就是将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列,有点类似 Java 1.8 中的流处理。2. 事件序列转换API首先看一个 map() 的例子:Observable.just
转载
2024-10-14 14:31:00
34阅读
在当今的开发环境中,Swift 已成为 iOS 开发的重要语言。无论是用于构建 iOS 应用,还是用于服务端编程,Swift 提供了一系列强大的功能和简洁的语法,而这些都是我们在开发过程中需要掌握的。本文将基于如何使用 Swift 这个主题,详细探讨相关的问题背景、错误现象、根因分析、解决方案、验证测试和预防优化等方面。
## 问题背景
在一个 iOS 项目的开发中,我们经常会遇到各种各样的问
MMKV简介
腾讯微信团队于2018年9月底宣布开源 MMKV ,这是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,主打高性能和稳定性。近期也已移植到 Android 平台,一并对外开源。MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中
原创
2022-03-04 14:41:06
1118阅读
最近做的项目中,遇到个很棘手的问题:客户给我的数据是有限制的,因此,在返回某条具体页面内容的时候,他只能给我一个html片段,里面包含文字,图片以及附件的下载地址。如果网页模版规范的爱比较好说,但是他给我的数据中,不确定的因素很多:比如 可能没有图片,图片和文字穿插在一起,最为重要的是html便签他的嵌套层次和标签个数都是不确定的。如果我采用解析html提取内容出来的话,估计就掉进坑里了.....