首页
学习
活动
专区
圈层
工具
发布

Chrome 会成为 OpenAI 的下一个目标?| 肘子的 Swift 周报 #081

本文中,Natalia Panferova[9]详细介绍了如何使用 SwiftUI 构建一个完全自定义的“关于”窗口,并展示了如何应用新特性,如调整工具栏、启用拖动、设置半透明背景、控制窗口按钮、限制窗口大小和关闭位置复原...工具 用 Swift 打造真正原生的跨平台应用[21] 很多开发者和我一样,都希望能够使用 SwiftUI 来构建真正的跨平台应用(包括 Android)。...Skip[22]让这一梦想更进一步:通过将 SwiftUI 代码映射到 Android 平台的 Jetpack Compose,Skip 实现了业务逻辑和 UI 代码的双向共享,兼顾了开发效率与原生体验...相较于 SwiftData,SharingGRDB 带来了更低的系统版本支持、更全面的 SQLite 能力、基于编译时的查询检查机制,以及更好的运行性能。...注意:目前 SharingGRDB 及其依赖的基础库 GRDB[29]暂未提供类似 SwiftData/Core Data 的成熟跨设备同步方案,使用前请确认是否符合你的项目需求。

56900

SwiftUI: 使用 ImagePaint 制作边框和填充

SwiftUI严重依赖于协议,使用绘图时可能会有些混乱。例如,我们可以将Color用作视图,但它也符合ShapeStyle——用于填充,笔触和边框的另一种协议。...为了解决这个问题,SwiftUI为我们提供了一种专用类型,该类型可以完全控制应如何渲染图像的方式包装图像,这又意味着我们可以将它们用于边框和填充而不会出现问题。...,以及该图像的比例(第三个参数)。这些第二和第三个参数具有合理的默认值“整个图像”和“ 100%比例”,因此有时您可以忽略它们。....border(ImagePaint(image: Image("Example"), scale: 0.2), width: 30) 如果要尝试使用sourceRect参数,请确保传入相对大小和位置的....frame(width: 300, height: 200) Spacer() } } ImagePaint将自动继续平铺其图像,直到填充其区域为止——它可以与背景,笔触,边框和任何大小的填充一起使用

2.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQLite 并发的四种处理方式

    SQLite.swift 方案 SQLite.swift 采用了最简单粗暴的一种方案,使用者只会得到一个数据库连接,所有的操作都是在该连接上串下执行,类库的作者并没有提供数据库连接池类似的特性。...GRDB 方案 此方案借鉴了 FMDB 中的 API 设计,使用者通过在闭包中组织语句来实现数据库访问。不过与前两个相比,GRDB 最大的不同就是它不再使用串行队列设计。...Core Data 方案 虽然 Apple 官方并没有说 Core Data 是 SQLite 的一个封装和实现,但是我们都知道其实它底层还是使用 SQLite 作为存储引擎。...对于FMDB和GRDB 关注的上下文环境则是闭包中的 SQL 语句块。...封装过于复杂的话则又有导致处理的灵活性变得很差。如果搞的大而全的话则有可能导致 SQLite 的执行效率变得很差。 总体而言,FMDB 和 GRDB 采用的方式从安全性和灵活性上会更好一点。

    7.6K70

    使用 SwiftUI 的 Eager Grids

    介绍 早在 2020 年,我们就拥有了在 SwiftUI(LazyVGrid 和 LazyHGrid)中绘制网格的新视图控件。两年后,我们又获得了另一种在网格(Grid)中显示视图的视图控件。...这篇文章的主题 Eager Grids 正好相反。SwiftUI 不在乎它们是在屏幕上还是在屏幕外。所有视图都被同等对待。这可能会出现大量单元的性能问题。...当没有布局容器存在时,SwiftUI 会隐式使用 VStack。...如果你得到你所期望的,你会重申你已经知道的。 空间 与 HStack 和 VStack 类似,Grid 容器具有用于间距的垂直和水平参数。如果未指定,则将使用系统默认值。...与行对齐的情况一样,该值将与行垂直值和网格的对齐值合并。您使用修饰符 gridColumnAlignment() 指示列的对齐方式 注意:文档非常清楚。

    5.6K20

    SQLite的使用

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...在Mac和Linux系统中一般都默认安装了sqlite3,可以直接使用命令sqlite3打开 # 直接打开就进入交互式界面 ➜ ~ sqlite3 SQLite version 3.19.3 2017...Use ".open FILENAME" to reopen on a persistent database. sqlite> # 或者打开已创建的数据文件 ➜ ~ sqlite3 my.db SQLite....help #最常用的命令,如果忘记了其他命令,就用这个命令 .exit #退出 .databaseses #查看数据库及对应的库文件(sqlite中,一个文件对应一个数据库...'my.db' as 'my' SQL SQLite3支持标准的SQL的语法,很少有扩展,这一点与MySQL和Oracle等大型数据库有很大差别。

    1.6K10

    Android | SQLite的使用

    , onCreate()和onUpgrade(), 需重写,实现创建和升级数据库的逻辑。...还有两个重要的实例方法: getReadableDatabase()和getWritableDatabase()。...SQLiteOpenHelper有两个构造方法可供重写, 一般使用参数少一点的那个构造方法, 其接收四个参数: Context, 数据库名,创建数据库时使用的就是这里指定的名称; 允许查询数据时返回一个自定义的..., 再重新调用onCreate()方法, 这样一开始的表和新加的表都会被创建; 调用onUpgrade(): 构造SQLiteOpenHelper实例的时候, 给第四个参数(version)传入大于旧版本的数字..., 通过moveToFirst()和moveToNext()等方法来调节其指向的位置; 令其指向某一行,或者一行一行遍历返回的数据表, 对返回的数据进行处理即可。

    1.9K30

    用 Swift 来构建安卓应用|肘子的 Swift 周报 #071

    对于深耕苹果生态的开发者而言,使用熟悉的 Swift 语言开发 Android 应用是一个令人期待的可能性。不过,跨平台开发的道路并不平坦。...与此同时,Point-Free 团队推出的 Sharing GRDB[8]项目为跨平台数据持久化提供了全新思路。 尽管 Swift 在跨平台领域展现出了令人瞩目的潜力,但前方的挑战依然不容忽视。...在这篇文章中,方君宇详细介绍了 URL Scheme 和 Universal Link 的配置方法,并探讨了如何在 SwiftUI 中处理深层链接事件。...相比于直接在代码或 Build Settings 手动配置,使用.xcconfig文件可以让环境管理更加清晰、可维护,并且更适用于 CI/CD 自动化构建,避免团队协作时的合并冲突和重复劳动。...:https://github.com/pointfreeco/sharing-grdb [9] 精确掌控 SwiftUI 滚动:自定义 Paging 实现:https://fatbobman.com/

    1.1K00

    SwiftUI @State @Published @ObservedObject 深入理解和使用

    1.SwiftUI 是Apple 新出面向未来、跨多端解决方案、声明式编程 SwiftUI最新版本 2.0 但是需要 IOS 14 支持,多数现在还用的是IOS 13 所以很多不完善的东西都用SwiftUIX...是的,这感觉有点像作弊,你可能想知道为什么我们不使用类-它们可以自由修改。...但是相信我,这是值得的:随着你的进步,你会了解到SwiftUI经常破坏和重新创建你的结构体,所以保持它们的小而简单的结构对性能很重要。...@Published + @ObservedObject 介绍 @Published是SwiftUI最有用的包装之一,允许我们创建出能够被自动观察的对象属性,SwiftUI会自动监视这个属性,一旦发生了改变...比如我们定义的数据结构Model,前提是 @Published 要在 ObservableObject 下使用 然后用 @ObservedObject 来引用这个对象,当然@State 不会报错,但是无法更新

    4.3K10

    Vue 集成和使用 SQLite 的完整指东

    引言SQLite 是一种轻量级的关系型数据库管理系统,以其简单易用、无需服务器等特点广泛应用于嵌入式系统、移动应用和小型应用程序中。...在 Web 开发中,尤其是前端应用开发中,SQLite 可以作为客户端本地存储的一种选择,为用户提供离线数据存储和访问的能力。...在 Vue.js 项目中使用 SQLite,可以将应用的数据存储在客户端,这对于开发 PWA(渐进式 Web 应用)或需要在离线环境下运行的应用非常有用。...结论在 Vue 项目中使用 SQLite 数据库为应用提供了强大的本地数据存储能力,特别适用于离线应用和轻量级数据管理场景。...通过这种方式,我们可以在前端应用中实现复杂的数据库操作,并为用户提供更好的数据存储和管理体验。希望本文能够为你在 Vue 项目中使用 SQLite 提供参考和帮助。

    2.5K00

    SwiftUI:使用 CGAffineTransform 和奇偶填充来变换形状

    当您不再满足于简单的形状和路径时,SwiftUI的两个有用功能会合在一起,以极少的工作量创建出漂亮的效果。第一个是CGAffineTransform,它描述了如何旋转,缩放或剪切路径或视图。...旋转变换的移动量等于绘制空间宽度和高度的一半,因此每个花瓣都以我们的形状为中心。 为花瓣创建一个新路径,该路径等于特定大小的椭圆。 将变换应用到该椭圆,以便将其移到适当位置。...为了真正帮助您了解发生了什么,我们将使花瓣椭圆使用一些可以从外部传递的属性。...(CGAffineTransform(translationX: rect.width / 2, y: rect.height / 2)) // 使用我们的属性以及固定的Y和高度为该花瓣创建路径...一旦开始拖动offset和width滑块,您应该就能清楚地看到代码的工作原理——它只是一系列旋转的椭圆,呈圆形排列。 这本身就是有趣的,但是只要稍作改动,我们就可以从有趣升华。

    1.9K30

    【SQLite预习课2】SQLite 和 HeidiSQL 的安装

    主打方向:Vue、SpringBoot、微信小程序 一、SQLite 的下载 在第一篇 【SQLite】一、SQLite简介——MySQL的简洁版 中已经讲到。...SQLite 是一个不需要安装即可使用的数据库引擎。 为了使用 SQLite,我们需要从官网下载相关文件。...二、SQLite 的解压 SQLite 下载完成后,在硬盘上新建一个文件夹,如 C:\java\sqlite。 将下载的两个压缩包文件解压到该文件夹下,如下图所示。...四、HeidiSQL 的下载和安装 HeidiSQL 是一款数据库可视化工具,有了它可以帮助我们更好的操作数据库。...五、小结 本文讲解了 SQLite 的下载、解压和启动,以及环境变量的配置方式,另外也讲解了 HeidiSQL 的安装方式,以及 HeidiSQL 对我们学习 SQLite 的作用,下节将正式讲解 SQLite

    83060

    SwiftUI 之 HStack 和 VStack 的切换

    使用布局协议 虽然我们最后已经用了非常棒的解决方案,可以在所有支持 SwiftUI 的 iOS 版本中使用,但也让我们来探索一下在 iOS 16 中引入的一些新的布局工具(在写这篇文章时,它作为...这都是因为事实证明 Layout 不仅仅是我们第三方开发者的 API ,Apple 也让 SwiftUI 自己的布局容器使用这个新协议 。...所以,与其直接使用 HStack 和 VStack 作为容器视图,不如将它们作为符合 Layout 的实例,使用 AnyLayout 类型进行包装 — 就像这样: private extension...,因为当 HStack 和 VStack 的内容类型是 EmptyView 时,它们都符合新的 Layout 协议(当内容为空时就是这种情况),让我们来看一下SwiftUI 的 公共接口 struct...SwiftUI 团队的 Matt Ricketson 的说法,可以直接使用底层的 _HStackLayout 和 _VStackLayout 类型作为临时的解决方法。

    3.9K10

    为什么SwiftUI的视图使用结构体?

    如果您曾经为UIKit或AppKit(Apple的iOS和macOS原始用户界面框架)编程,您会知道它们使用类而非结构体来构造视图。...我之所以说性能因素,是因为很多人认为这是SwiftUI使用结构体的主要原因,而实际上这只是更大范围的一部分。...struct or class 通常这不是问题,但是有一个名为UIStackView的特定子类,它类似于SwiftUI中的VStack和HStack。...当您查看可以作为视图的事物时,可以看到这一点。我们已经使用了Color.red和LinearGradient作为视图——包含很少数据的简单类型。...相比之下,Apple的UIView文档列出了UIView拥有的约200种属性和方法,无论是否需要它们,所有这些属性和方法都将传递给其子类。

    4.1K10

    苹果在 iOS 15 中使用了 Swift 和 SwiftUI

    苹果在 iOS 15 中使用了 Swift 和 SwiftUI iOS 15 在几个月前的 2021 年 9 月发布。...苹果是否在某些内置应用程序采用了 SwiftUI? 方法 创建本文的方法和工具在我之前的帖子中进行了详细说明。...一个例子是我开发的应用程序 Clutters,我在那里使用 Swift、SwiftUI、Objective-C 和 C,使用最合适的编程语言来解决特定Dev问题。...iOS 15 中的 Swift 和 SwiftUI 也许最有趣的数字之一是统计苹果在iOS 15中使用 Swift 和 SwiftUI 的情况。所以让我们从这个开始吧!...今年也是采用 SwiftUI 的重要一年。一些广泛使用的应用程序现在似乎在 iOS 15 中使用 SwiftUI: 图书 地图 备忘录 天气 提示 音乐 播客 FaceTime ?

    2.8K30

    为什么 SwiftUI 的视图使用结构体

    如果您曾经为 UIKit 或 AppKit(Apple 的 iOS 和 macOS 原始用户界面框架)编程,您会知道它们使用类而非结构体来构造视图。...我之所以说性能因素,是因为很多人认为这是 SwiftUI 使用结构体的主要原因,而实际上这只是更大范围的一部分。...struct or class 通常这不是问题,但是有一个名为 UIStackView 的特定子类,它类似于 SwiftUI 中的 VStack 和 HStack。...当您查看可以作为视图的事物时,可以看到这一点。我们已经使用了 Color.red 和 LinearGradient 作为视图——包含很少数据的简单类型。...实际上,您不能找到比使用 Color.red 作为视图的更好的主意:除了“用红色填充我的空间”之外,它不包含任何信息。

    3.2K50

    如何使用 SwiftUI 中 ScrollView 的滚动偏移

    前言WWDC 24 已经结束,我决定开始写一些关于 SwiftUI 框架即将推出的新特性的文章。今年,苹果继续填补空白,引入了对滚动位置更细粒度的控制。本周,我们将学习如何操作和读取滚动偏移。...使用 scrollPositionSwiftUI 框架已经允许我们通过视图标识符跟踪和设置滚动视图的位置。这种方法效果不错,但不足以更准确地跟踪用户交互。...为了弥补这一不足,SwiftUI 引入了新的 ScrollPosition 类型,使我们能够通过偏移量、滚动视图的边缘、视图标识符等组合滚动位置。...新的 ScrollPosition 类型SwiftUI 框架引入了新的 ScrollPosition 类型,使我们能够通过偏移量、滚动视图的边缘、视图标识符等组合滚动位置。...我们介绍了如何使用 ScrollPosition 类型进行滚动位置的设置和读取,包括使用偏移量、视图标识符等方式进行操作。此外,我们还展示了如何通过动画和事件处理来增强用户体验。

    3.3K10

    SwiftUI:alert() 和 sheet() 与可选值一起使用

    SwiftUI有两种创建警报和表单的方式,到目前为止,我们仅使用一种方法:绑定到布尔值,该布尔值在变为 true 时显示 Alert 或 Sheet。...第二种方法并不经常使用,但是在您需要的时候它确实有用:您可以使用可选的Identifiable对象作为条件,并且当该对象具有值时将显示 Alert 或Sheet 。...它的闭包将为您提供用于条件的非可选值,因此您可以安全地使用它。...出现提示“Taylor Swift”的警报。解除警报后,SwiftUI会将selectedUser设置为nil。 这似乎是一个简单的功能,但是比其他功能更简单,更安全。...参考 Alert弹窗 SwiftUI:ActionSheet 弹窗 SwiftUI:Sheet 视图 译自 Using alert() and sheet() with optionals

    3.7K40
    领券