首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SwiftUI WWDC作为开发者的我最激动的部分

SwiftUI 所有Apple平台都是原生的 ---- SwiftUI在创造世界上最创新、最直观的用户界面方面积累了数十年的经验。...用户喜欢苹果生态系统的所有方面,比如控件和特定于平台的体验,都可以在代码中很好地表现出来。SwiftUI是真正的本地应用程序, ?...自动支持动态类型、暗模式、本地化和可访问性意味着您的第一SwiftUI代码已经是您编写过的最强大的UI代码。 ?...SwiftUI语法是什么样的呢 ---- SwiftUI使用声明性语法,因此您可以简单地声明用户界面应该做什么。例如,您可以编写一个包含文本字段的项列表,然后描述每个字段的对齐方式、字体和颜色。...在运行时,系统会处理创建平滑移动所需的所有步骤,甚至会处理中断以保持应用程序的稳定。有了这个简单的动画,你将寻找新的方法使你的应用程序活起来。

2.3K30

我庆幸果断放弃了SwiftUI:它还不够成熟

但每当 SwiftUI 更新检查器视图时(这种更新可能出现在移动过程中,甚至是在输入文本字段的时候),渲染速率都会下降到每秒 10 到 15 帧,而且相当不稳定。这显然让人无法容忍。...但这会导致检查器中的值出现延迟,因此在地图编辑器的交互过程中(比如使用移动工具时)结果不准确,所以效果还是称不上完美。 但我觉得这可能只是个独立问题,并不能因此把 SwiftUI 一棒子打死。...如大家所见,这是个复杂的窗口,包含多种不同上下文(上方的「Sprite 资产数据库」列表,左侧的特定「Sprite 资产数据库」内容,以及其他与选定 Sprite 资产对应的编辑器元素)。...我仍然觉得它是一项很棒的技术,只是可能不适合我的这个特定用例。但我真的不确定是不是自己的用法有问题。...https://xie.infoq.cn/article/28af907f31baa7e7283a31ed4 今日好文推荐 英伟达回应“对中国断供部分高端 GPU”;月薪 3.6 万工程师日均写 7 代码被开

4.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Ask Apple 2022 与 SwiftUI 有关的问答(上)

是否有任何建议用来检测列表中的选择,类似于 “NavigationLink”,但不导航到另一个视图(例如,显示 Sheet 或从列表中选择一个选项 )?...{ self.isAnimated = value } })A:你可以通过使用 .animation(.easeInOut, value: model.state) ,直接对特定状态的变化进行动画...通过使用与某个特定状态绑定的 animation 修饰器( 老版本的 animation 修饰器已被软弃用 ),可以实现更加精确的动画效果。...DocumentGroupQ:在 macOS 上使用 SwiftUI 应用生命周期和 DocumentGroup 时,如果应用仅为数据阅读器,是否可以禁止创建新文件?...每周也会对当周博客上的新文章以及在 Twitter 上发布的 Tips 进行汇总,并通过邮件列表的形式发送给订阅者。订阅下方的 邮件列表[25],可以及时获得每周的 Tips 汇总。

12.2K20

SwiftUI + Core Data App 的内存占用优化之旅

在我们创建完 100 条数据后,重启应用( 重启可以更精准地测量内存占用情况 )并滚动列表至底部。此时该应用的内存占用为 1.6 GB 左右。...并根据上下文的需要,用对应的数据向特定的托管对象进行填充( 实例化 )。...从当今移动开发的角度来说,缓存好像存在的意义不大,但考虑到 Core Data 的前身主要用来处理金融类数据业务,在此种场景中,缓存可以带来相当可观的收益。...在托管对象从惰值状态( Fault )脱离后,只有在几种特定的条件下,才会重新转换为惰值。例如通过调用 refresh 或 refreshAllObjects 方法。...数据的多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示时,实际上在内存中至少保存了三份拷贝: 缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片的 SwiftUI

1.2K10

SwiftUI + Core Data App 的内存占用优化之旅

并根据上下文的需要,用对应的数据向特定的托管对象进行填充( 实例化 )。...从当今移动开发的角度来说,缓存好像存在的意义不大,但考虑到 Core Data 的前身主要用来处理金融类数据业务,在此种场景中,缓存可以带来相当可观的收益。...在托管对象从惰值状态( Fault )脱离后,只有在几种特定的条件下,才会重新转换为惰值。例如通过调用 refresh 或 refreshAllObjects 方法。...数据的多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示时,实际上在内存中至少保存了三份拷贝: 缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片的 SwiftUI...订阅下方的 邮件列表,可以及时获得每周的 Tips 汇总。

2.4K40

如何让 SwiftUI列表变得更加灵活

元素绑定和自定义滑动操作 接下来,让我们看看如何将完全自定义的滑动操作添加到列表中。...为了演示这种情况,我们在 List 中嵌套一个 ForEach (因为在 SwiftUI 的中,列表变化一版都是由 ForEach 触发的,而不是由 List 触发的)。...下拉刷新 就我个人而言,下拉刷新在我的 SwiftUI 功能请求列表中非常重要,所以我很高兴看到今年的版本增加了对这种非常常见的 UI 范式的内置支持。...可定制的分隔符 自从引入 SwiftUI 以来,开发者们有一个非常普遍的要求,提供一个 API ,用于隐藏或以其他自定义实现列表中每个 item 之间的默认分隔符。...未经同意禁止私自转载。

4.8K41

Ask Apple 2022 与 SwiftUI 有关的问答(下)

Table 中上下文菜单Q:如果我在 TABLE 上添加了一个上下文菜单,我如何确定哪一导致了菜单的显示(无需选择该行)?...快速检索数组元素Q:为什么没有简单的方法将 TABLE 选择的映射到提供表内容的数组元素上?似乎唯一的方法是在数组中搜索匹配的 id 值,这对于大表来说似乎效率很低。...Swiftcord[12] 的代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 中显示大数据集的响应效率[13] 一文,了解苹果工程师推荐的方法。...对于类似的情况,也可以不使用显式动画驱动( 不使用 withAnimation ),只需将 .animation(.default, value: isPresented) 移动到 VStack 之外即可...所以更想知道你需要这个速度值有什么特定的用途。可以尝试在获取位置改变的同时记录时间变化来计算速度。不过如果是涉及到用户交互,建议衡量一下用户对速度的敏感程度和交互效果本身,是否可以用更便捷的方式实现。

14.7K30

优化在 SwiftUI List 中显示大数据集的响应效率

本文将通过一个优化列表视图的案例,展现在 SwiftUI 中查找问题、解决问题的思路,其中也会对 SwiftUI 视图的显式标识、@FetchRequest 的动态设置、List 的运作机制等内容有所涉及...列表视图的初始化和 body 求值 如果对 SwiftUI 的 NavigationView 有一定了解的话,应该知道 SwiftUI 会对 NavigationLink 的目标视图进行预实例化(但不会对...解决方案一 从 iOS 15 开始,SwiftUI 为 List 添加了更多的定制选项,尤其是解除了对列表分割线设置的屏蔽且添加了官方的实现。...我们将通过 SwiftUI-Introspect[7] 来实现在 List 中滚动到列表两端。...等动态管理方式,用数组来持有数据 通过设置 NSPredicate 、NSSortDescription 和 fetchRequest.fetchLimit获取若干最新数据,将数据逆向添加入数组 在列表显示后率先移动到最底端

9.1K20

架构之路 (五) —— VIPER架构模式(一)

虽然SwiftUI和Combine框架创建了一个强大的组合,可以快速构建复杂的ui和在应用程序中移动数据,但它们也面临着各自的挑战和对架构的看法。...演示者Presenter是架构的“交通警察”,在视图view和交互器interactor之间指挥数据,执行用户操作并调用路由器在视图之间移动用户。 实体Entity表示应用程序数据。...---- Defining an Entity VIPER是这种架构的一个有趣的缩写,但它的顺序不是禁止的。 在屏幕上显示内容的最快方法是从实体entity开始。entity是项目的数据对象。...它们添加、移动、删除和更新waypoints。 接下来,通过TripDetailPresenter将它们暴露给视图。...EditButton,以便用户可以移动或删除路径点。

17.4K10

SwiftUI 的动画机制

SwiftUI 中,我们不能命令某个视图从一个位置移动到另一个位置,为了实现上述效果,我们需要声明该视图在状态 A 时所处的位置以及状态 B 时所处的位置,当由状态由 A 转到 B 时,SwiftUI...在 SwiftUI 中,实现一个动画需要以下三个要素: 一个时序曲线算法函数 将状态(特定依赖项)同该时序曲线函数相关联的声明 一个依赖于该状态(特定依赖项)的可动画部件 animationThreeElements...只使用指定特定依赖项的 animation 版本 SwiftUI 提供了两个版本的 animation 修饰符: // 版本一,不指定特定依赖项 func animation(_ animation:...transaction.disablesAnimations = true } withTransaction(transaction) { // withTransaction 可以禁止原有事务的时序曲线函数...此种情况下,我们可以通过 transition 来分别设定分支一和分支二的进出场动画( 也可以在分支选择的外侧统一设定 Transition ),但无法要求分支一移动到分支二上面。

14.6K40

使用 SwiftUI 创建一个灵活的选择器

前言 最近,在我正在开发一个在 Dribbble 上找到的设计的 SwiftUI 实现时,我想到了一个点子,可以通过一些酷炫的筛选器扩展该项目以缩小结果列表。...在使用 UIKit 时,我总是将这种类型的视图实现为具有特定 UICollectionViewFlowLayout 的 UICollectionView。但在 SwiftUI 中该如何实现呢?...此外,该枚举有两个属性,一个返回 UIFont 权重,另一个返回 SwiftUI Font 权重。通过这种方式,我们只需向 FlexiblePicker 提供 FontWeight 枚举的特定情况。...我们有两个数组: singleLineResult 数组——负责存储适合特定的项目 allLinesResult 数组——负责存储所有项目数组(每个数组都等同于一项目) 首先,我们检查从 HStack...(不能适应上一的元素),并通过减去当前项的宽度来更新 HStack 的行宽。

24520

如何结合 Core Data 和 SwiftUI

它具有非常特定的格式,因此,我们首先为学生添加获取请求——请立即将此属性添加到 ContentView: @FetchRequest(entity: Student.entity(), sortDescriptors...您可以根据需要运行代码,但没有太多意义——该列表将为空,因为我们尚未添加任何数据,因此我们的数据库为空。...为了解决这个问题,我们将在列表下方创建一个按钮,每次点击都会添加一个新的随机学生,但是首先我们需要一个新属性来存储托管对象上下文。 让我重申一下,因为这很重要。...因此,现在将这三添加到按钮的操作闭包中: let student = Student(context: self.moc) student.id = UUID() student.name = "\(...因此,请将最后一添加到按钮的操作中: try?

11.8K30

Xcode 11 初体验

、storyboad其中我有两篇博客也介绍到了SwiftUI:SwiftUI - 百代码变十,Swift再创辉煌 和 WWDC - SwiftUI - 初恋般的感觉 代码块 代码块也做了调整,界面漂亮直观...Editor and Canvas:代码编辑器和SwiftUI预览视图。 Editor and Assistant:代码编辑器和辅助视图。...除此之外你还可以移动鼠标到两个窗口之间,将要打开的文件在这里插入一个新的窗口: 综合这个功能,更加方便我们对比阅读,快速开发!...在Git Tab页面,会展示出当前本地 Branches 列表、Stash Changes 列表、Tags 列表、Remotes 远程仓库列表。...关于Swift UI 的更新 其中我有两篇博客也介绍到了 SwiftUI : SwiftUI - 百代码变十,Swift再创辉煌 WWDC - SwiftUI - 初恋般的感觉 参考:Apple 官方文档一线搬砖工人

3.1K10

代码变十,苹果SwiftUI可视化编程让开发者惊呼完美

而对于开发者来说,新发布的 SwiftUI 可能是最吸引人的特性,在 Craig Federighi 的演示中,我们可以轻松地把一百的前端代码缩减到十几行。...SwiftUI 自动支持动态字体调整(Dynamic Type)、暗黑模式(Dark Mode)、本地化(localization)和辅助功能(accessibility),这意味着开发者的第一 SwiftUI.../ SwiftUI 的特点是什么 SwiftUI 使用声明式语法,所以我们可以简单地声明用户界面的样式。...SwiftUI 可以在需要的时候自动计算并渲染。 ? 设计工具 Xcode 11 内建了非常直观的新设计工具,我们可以通过 SwiftUI 使用拖放等简单操作而构建界面。...Swift 包管理器和 Github 包列表协作可以帮助开发者更容易发布自己的 Swift 项目。 使移动端开发者有更高效的生产力工具也十分重要。

4K10

肘子的 Swift 周报 #009

在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。...同时,对于原生移动应用开发领域来说,除了 iOS 和安卓,未来或许还需要考虑华为即将推出的 HarmonyOS NEXT 的适配。...这也意味着,国内的互联网公司开始积极适配 HarmonyOS,为原生移动开发就业领域带来新的机遇。 其实,无论是前端还是移动应用开发,技术的演进和市场的变化都在不断推动开发者去学习新技能和适应新环境。...前一期内容|全部周报列表 如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞、赞赏,并将其 转发 给更多的朋友。...初探 SwiftUI Link[9] Kyle-Ye[10] Link 是 SwiftUI 的一个组件,通过它可以导航到一个指定的 URL。

12110

肘子的 Swift 周报 #033|改善社区活跃度,仅更新论坛还不够

前一期内容|全部周报列表 原创 写在 WWDC 2024 之前:回顾 2019 至 2023 年间 SwiftUI 的关键升级及其影响[4] Fatbobman( 东坡肘子 )[5] 当人们久别重逢时,...近期推荐 Swift 语言中的 Result Builders 功能,极大地增强了其构建领域特定语言(DSL)的能力。...Declarative Text Kit: Inserting Strings and Lines With a Result Builder ( 声明式 Text Kit:使用结果构建器插入字符串和...这可能意味着采用订阅模式,或者专注于特定细分的 B2B 市场或建立社区,而不仅仅是提供答案。...Declarative Text Kit: Inserting Strings and Lines With a Result Builder ( 声明式 Text Kit:使用结果构建器插入字符串和

10910
领券