avatar
文章
268
标签
109
分类
39

首页
分类
归档
反馈
叶落花开的博客
搜索
首页
分类
归档
反馈
国内用户一键安装Docker并配置镜像源
发表于2024-09-18|服务端开发容器技术

Debian/Ubuntu从软件源一键安装
安装Docker

apt install -y docker.io  docker-compose

自启动Docker

systemctl enable --now docker

Docker官方一键安装脚本
使用官方源安装(国内直接访问较慢)

阅读全文
Swift - Realm数据库的使用详解(附样例)
发表于2024-09-18|客户端开发Swift开发

本文代码已升级至Swift4

1,什么是Realm
Realm 于2014 年7月发布,是一个跨平台的移动数据库引擎,专门为移动应用的数据持久化而生。其目的是要取代 Core Data 和 SQLite。

2,关于Realm,你要知道下面几点:
(1)使用简单,大部分常用的功能(比如插入、查询等)都可以用一行简单的代码轻松完成,学习成本低。
(2)Realm 不是基于 Core Data,也不是基于 SQLite 封装构建的。它有自己的数据库存储引擎。
(3)Realm 具有良好的跨平台特性,可以在 iOS 和 Android 平台上共同使用。代码可以使用 Swift 、 Objective-C 以及 Java 语言来编写。
(4)Realm 还提供了一个轻量级的数据库查看工具(Realm Browser)。你也可以用它进行一些简单的编辑操作(比如插入和删除操作)

3,支持的类型

(1)Realm 支持以下的属性类型:Bool、Int8、Int16、Int32、Int64、Double、Float、String、Date(精度到秒)以及Data.

(2)也可以使用 List<object> 和 Object 来建立诸如一对多、一对一之类的关系模型,此外 Object 的子类也支持此功能。

4,Realm的安装配置 

阅读全文
分拆 View Controller 中的自动布局代码
发表于2024-09-18|客户端开发Swift开发

分拆 View Controller 中的自动布局代码

  • 创建一个关于自动布局的协议
  • 为 UI 控件的布局代码创建一个文件
  • View Controller 中一句话完成控件的布局
  • References

当页面复杂起来的时候,或者说,当页面控件数量太多的时候,自动布局的代码也会逐渐繁琐起来,造成了 View Controller 中的代码繁重起来

因此,这里提供一种方法,将 UI 的布局代码移动到其他文件中,这个方法受到了 👉 这篇文章 的启发,大部分的代码也是从这里出来

布局的方法使用自动布局,而且还是用 SnapKit 的那种,语言使用的是 Swift 3

创建一个关于自动布局的协议

先创建一个文件,普通的 Swift 文件的那种,并在里面 import SnapKit

定义一个 protocol

阅读全文
Realm 使用备忘
发表于2024-09-18|客户端开发Swift开发

Realm 使用备忘

关于使用 Realm 的一些疑问解答 👉 链接

为对象设置 primary key

重写 Object.primaryKey() 方法

写操作

向一个 realm 对象添加数据对象的操作,必须在一个 write 事务中进行,因为 write 事务会产生不可预计的耗时操作,因此,应尽量减少 write 事务


write 事务是同步并阻塞的

若 Thread A 开始了一个 write 事务,
Thread B 在 Thread A 结束前开始一个 write 事务
两者都在同一个 realm 对象上进行

那么,Thread A 必须完成 write 事务并提交后,Thread B 的 write 事务才能进行
阅读全文
RealmSwift使用入门教程
发表于2024-09-18|客户端开发Swift开发

打开一个 Realm

  • 向构造函数传递一个配置对象,这个配置对象指明了如何访问 Realm
  • 配置对象指明了 Realm 数据库是位于什么地方
    • 本地文件系统的 URL
    • Realm 对象服务器的 URL, 同时还会包括访问的一些验证数据
    • 一个位于内存中的 Realm 标识符

后台刷新

在 iOS 8 后,若使用了后台刷新的特性,并且涉及了 Realm, 则需要注意了

App 内的文件在设备锁屏下,会使用 NSFileProtection 自动加密,对 Realm 数据库进行打开操作会抛出异常

因此,需要降低 Realm 数据库文件和它的辅助文件的保护等级,同时,也可以选择使用 Realm 自带的加密方式

降低保护等级,从相关文件的上一层文件夹入手

let realm = try! Realm()

// Get our Realm file's parent directory
let folderPath = realm.configuration.fileURL!.deletingLastPathComponent().path

// Disable file protection for this directory
try! FileManager.default.setAttributes([FileAttributeKey(rawValue: NSFileProtectionKey): NSFileProtectionNone],
ofItemAtPath: folderPath)
阅读全文
RealmSwift:如何正确创建一对一关系?
发表于2024-09-17|客户端开发Swift开发

RealmSwift是一种流行的移动端数据库解决方案,它提供了一种简单且高效的方式来存储和管理移动应用程序的数据。在RealmSwift中,创建一对一关系可以通过以下步骤来实现:

  1. 定义数据模型:首先,需要定义两个数据模型类,分别表示关系中的两个对象。例如,我们可以创建一个Person类和一个Address类来表示人和他们的地址。
class Person: Object {
@objc dynamic var name = ""
@objc dynamic var age = 0
@objc dynamic var address: Address?
}

class Address: Object {
@objc dynamic var street = ""
@objc dynamic var city = ""
@objc dynamic var person: Person?
}
阅读全文
1…345…45
avatar
叶落花开
持续学习,记录后端技术、web技术,以及对认知、技术变现的思考。
文章
268
标签
109
分类
39
友情链接
  • 各大高校博士招生信息
  • 小新软件安装服务
分类
  • IT技术35
    • Anki19
    • Linux7
    • Mac1
    • Windows2
  • Web技术23
    • Electron2
    • Hexo搭建博客教程9
标签
Anki Apache Containerd Corba Docker Dockerd Electron English Git Hexo JNA JacORB Java Javascript Jmeter K8s Kubernetes Kuboard Linux Mac Maven MongoDB Moviepy Node Nodejs OpenAI PMD PV PVC Python Realm RealmSwift Selenium Service Simulator Spring SpringBoot SpringMVC Sqlite Statefuset
网站资讯
文章数目 :
268
最后更新时间 :
©2020 - 2025 By 叶落花开
框架 Hexo|主题 Butterfly
本地搜索
数据库加载中