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

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

Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为上篇。...请查看 ShareLink[3]contextActionQ:在早期的 iOS 16 和 macOS 13 测试版中,我们看到一个新的 .contextAction 修改器,后来被删除了。...DocumentGroupQ:在 macOS 上使用 SwiftUI 应用生命周期和 DocumentGroup 时,如果应用仅为数据阅读器,是否可以禁止创建新文件?...WindowGroup 和 OpenWindowActionQ:在 macOS 上是否可以在创建新窗口时附加参数?我在同一个子上下文中创建一个新的托管对象,并希望将这个对象发送到一个新的窗口。...A:在 macOS Ventura 中,我们在 [WindowGroup 上引入了新的 API](https://developer.apple.com/documentation/swiftui/windowgroup

15.9K20

肘子的 Swift 周报 #034 | WWDC 2024,AI 并非全部

在本文中,Donny Wals 将详细介绍 @preconcurrency 的多种用途,@preconcurrency 不仅有助于将旧模块整合进新代码中,也使得新代码能够在旧项目中使用,从而为 Swift...SwiftUI Mac 应用中的场景类型 ( Scenes Types in a SwiftUI Mac App )[11] Natalia Panferova[12] 在使用 SwiftUI 构建 macOS...应用程序时,了解并运用各种场景类型是创建多功能且高效应用的关键。...每个窗口在 SwiftUI 中都对应一个场景(Scene),这些场景不仅包括常见的应用窗口(WindowGroup),还包含了 DocumentGroup、Settings、Window,以及位于系统菜单栏中的...在本文中,Natalia Panferova 深入分析了这些场景类型的用途和实现方式,帮助开发者充分利用 SwiftUI 的强大功能,构建出更丰富、更高效的 macOS 应用程序。

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

    苹果为傲慢付出了代价 | 肘子的 Swift 周报 #082

    近期推荐 Swift 6.1 新特性速览 (What's New in Swift 6.1?)[5] 在之前的周报中,我已经推荐过多篇介绍 Swift 6.1 新特性的优秀文章。...Donny Wals[11]在本文中详尽介绍了 Mutex 的使用方式,并指出在某些情况下,Mutex可能是更合适、更轻量的选择: Mutex 是阻塞式的,适合用于快速、同步的状态访问; 使用 Mutex...在本文中,William Boles[13]详细介绍了 background session 的使用方式,并清楚解释了为什么这类任务不能直接支持 async/await。...对 macOS 程序员而言,Chord Provider 涵盖了 DocumentGroup管理、CoreAudio播放、SwiftUI 多种布局能力等诸多实践细节,是一个值得参考的典范项目;而对吉他爱好者来说...NSAlchemy:扩展 SwiftUI 的 macOS 控件库[23] 尽管 SwiftUI 近年来在 macOS 平台上不断扩展,但依旧缺少不少关键控件。为此,Joshua J.

    47910

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

    Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为下篇。...任何自定义布局的完整实现都比我在这里的帖子中快速勾勒出来的要长,但总体思路是,你可以创建一个布局来查询其子级的理想大小并相应地对它们进行排序。...阅读 The SwiftUI Layout Protocol [11]了解如何创建自定义布局。创建从底部开始的滚动视图Q:我如何实现一个在底部对齐的滚动视图,在 macOS 上会不会有糟糕的性能?...软弃用Q:最近,我注意到新的 @ViewBuilder 函数在以前的版本中是不可用的,弃用信息提示我使用新的方法取代老方法,这是 SwiftUI 的 API 设计缺陷还是我错过了什么?...macOS APIQ:对于运行 Monterey 的 Mac,能否如何在 SwiftUI 中实现下面需求的建议:打开一个窗口在该窗口中初始化数据找到所有打开的窗口确定一个窗口是否打开从不在该窗口的视图中关闭一个窗口

    19.8K30

    肘子的 Swift 周报 #009

    原创 SwiftUI geometryGroup() 指南:从原理到实践[2] fatbobman(东坡肘子)[3] 在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup...本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中,在不使用 geometryGroup() 的情况下如何处理异常。...Basics[11] Majid Jabrayilov[12] 在 iOS 17 中,苹果大幅强化了 MapKit 在 SwiftUI 中的能力,现在开发者也能够通过 MapKit 创建出专业、高效的地图应用了...Colucci 分析并统计了在最新的 macOS Sonoma 14 中,苹果使用的编程语言和 UI 框架的数据。...播客 107: 好,买了,破费[17] weak self[18] 在这期播客中,13[19] 在前半部分介绍了创建 iOS 开发配饭吃[20] 系列视频的初衷并分享了一些体会。

    86110

    打造可适配多平台的 SwiftUI 应用

    这种做法不仅可以解决跨平台兼容性问题,还有其他好处:可以改善视图中代码的整洁度(减少条件编译语句的使用)可以改善 SwiftUI 在不同版本之间的兼容性当然,要创建并使用这类代码,前提是开发者必须已经对...由于 iPhone 只支持单窗口模式,通常我们不会太注意它的存在,但在 iPadOS 以及 macOS 这些支持多窗口的系统中,则代表着,每次创建一个新窗口(在 macOS 中,通过菜单中的新建来创建新窗口...在“电影猎手”中,我们在 App 的位置创建了 Store(保存应用状态以及主要处理逻辑的单元)的实例,并通过 .environmentObject(store) 注入到根视图中。...图片尽管系统在创建新场景(新窗口)时会为其创建一棵新的视图树,但由于为新场景的根视图注入的仍然是同一个 Store 实例,因此尽管场景不同,但在不同的窗口中获取的应用状态完全一致。...图片这是因为,在 macOS 中,使用 Settings 来声明 Settings 窗口同样是创建了一个新的场景,会创建一棵独立的视图树。

    4.9K80

    WWDC20全球开发者大会上开发者必须了解这些事

    该计划提供访问文档、论坛支持、macOS Big Sur 和 Xcode 12的测试版,并包括有限使用开发工具包(DTK),这将使开发者能够构建和测试他们的 Universal 2 应用程序。...而通过新的 SwiftUI API,开发者可以使用同样的代码为 iOS、iPadOS 和 macOS 构建一个 widget。...新的文档选项卡使打开多个文件既快速又轻便,以支持界面文件,并且日志和项目文件均在各自的选项卡中打开。导航器字体现在与系统大小匹配,或者可以设置为小,中或大。...今年,新的生命周期 API 使开发者可以在 SwiftUI 中编写整个应用程序,并在所有 Apple 平台上共享该代码。...借助 macOS Big Sur,Mac Catalyst 应用程序会自动继承宽敞的新设计,同时为开发者提供功能强大的新 API,并更好地控制其应用程序的行为。

    2.1K20

    打造可适配多平台的 SwiftUI 应用

    这种做法不仅可以解决跨平台兼容性问题,还有其他好处: 可以改善视图中代码的整洁度(减少条件编译语句的使用) 可以改善 SwiftUI 在不同版本之间的兼容性 当然,要创建并使用这类代码,前提是开发者必须已经对...由于 iPhone 只支持单窗口模式,通常我们不会太注意它的存在,但在 iPadOS 以及 macOS 这些支持多窗口的系统中,则代表着,每次创建一个新窗口(在 macOS 中,通过菜单中的新建来创建新窗口...在“电影猎手”中,我们在 App 的位置创建了 Store(保存应用状态以及主要处理逻辑的单元)的实例,并通过 .environmentObject(store) 注入到根视图中。...image-20230424092927467 尽管系统在创建新场景(新窗口)时会为其创建一棵新的视图树,但由于为新场景的根视图注入的仍然是同一个 Store 实例,因此尽管场景不同,但在不同的窗口中获取的应用状态完全一致...iShot_2023-04-24_10.33.03.2023-04-24 10_34_15 这是因为,在 macOS 中,使用 Settings 来声明 Settings 窗口同样是创建了一个新的场景,

    3.8K10

    WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088

    苹果一次性发布了所有的 Session 视频,让开发者得以在第一时间了解自己感兴趣的新特性和新 API。经过两天的快速浏览,我对本届 WWDC 2025 的初步印象为:意料之中,预想之外。...是 WWDC 2025 中 SwiftUI 的视觉增强工具,通过将图片或背景内容扩展并模糊至视图边界外,实现更具沉浸感和系统一致性的设计效果。...修复项目无法在 Xcode 26 中打开的方法[38]by Cihat Gündüz[39] 右键点击 .xcodeproj 文件,选择"显示包内容"。...iOS 18 和 macOS 15 中,只需在 Info.plist 中开一个开关,UIKit 和 AppKit 即可自动跟踪 @Observable 模型的属性访问并在视图更新时自动刷新;iOS 26...SwiftUI 中创建交互式、可定制的三维图表。

    67710

    Xcode 11 初体验(Xcode工作流的改进(Workflows))

    趁着最新更新正是版本的 Xcode 11 于是就有这一篇 Xcode工作流的改进(Workflows) 工程创建 [1240] 创建工程进来,就会发现 User Interface 可以进行选择 SwiftUI...(本人是非常喜欢代码块的,对于这个调整我要点赞) [1240] 将 Version Editor 中的 log 选项卡移到了检查器中,组成了新的Source Control History区。...其中说明一下:SwiftUI 预览 系统最低要求macOS 10.15 [1240] Add Editor 提供了编辑窗口的任意切割功能: 可以指定文件打开的位置。...指定文件打开位置 上面我们介绍了窗口分割,在 Xcode 11 中,你还可以按住 Option + Shift,然后在左边点击要打开的文件,这时会出现窗口选择提示 [1240] 你可以用键盘,或者鼠标任意方式选择你要打开这个文件的窗口...,选中后点击鼠标左键或者键盘的 Enter键,就可以在指定窗口打开这个文件了。

    2.9K40

    变暗的 Liquid Glass 和消失的 Apple Intelligence | 肘子的 Swift 周报 #093

    一个真正能让用户在日常中无缝体验 AI 便利的设备,需要具备多个核心要素:强大且被广泛应用的端侧 AI 框架、高效节能的 AI 芯片、快速响应且成本可控的云端服务,以及一个充分理解并善用这些能力的庞大开发者生态...前一期内容|全部周报列表 欢迎 点赞 ♥️、 转发 原创 在 SwiftUI 中,如何判断 Text 是否被截断?...OpenSwiftUI[15]项目的主要开发者 Kyle Ye[16]最近在实现 VStack/HStack 布局的过程中,发现了其中的奥秘,并通过本文揭示了 SwiftUI 布局系统中 Spacer的内部实现原理...在本文中,Gabriel Theodoropoulos[18]着重介绍了如何使用 Window scene(而非 WindowGroup)在 macOS 上创建和管理辅助窗口。...文章详细讲解了窗口的创建、配置以及程序化的打开和关闭方法。当我看到文章提到的大量以 window开头的视图修饰器,才明显地感受到,不知不觉间,SwiftUI 已经在 macOS 上成长了很多。

    33300

    WWDC 2025:回归务实的一年 | 肘子的 Swift 周报 #089

    在过去一周中,苹果推出了众多全新框架和 API,并展示了在未来几年将产生深远影响的 Liquid Glass 视觉风格。...此外,苹果还一次性地发布了全部的 Session 视频,新 API 的文档质量和可读性也较往年有明显提升。仅凭这些改进,我就愿意给今年的大会打出至少 8.5/10 的分数。 你呢?...该框架最早发布于 macOS Ventura(13),如今终于在 iOS 26 中上线,并实现了与 macOS 等同的功能支持。...Itsuki[17]在本文中深入探索了如何在 SwiftUI 中应用 Liquid Glass,包括基础用法、视图间的融合与变形动画、分组控制与动画路径调整等进阶技巧,并针对 Beta 版本中的已知 Bug...为了解决这个问题,Peter Steinberger[21]创建了 llm.codes[22] —— 一个将这类文档转换为 Markdown 格式的免费服务。

    74410

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

    官方教程:https://developer.apple.com/tutorials/swiftui/ 官方文档:https://developer.apple.com/documentation/swiftui...简化动画构建 创建流畅的动画效果十分简单,如同声明一个简单的方法。SwiftUI 可以在需要的时候自动计算并渲染。 ?...因此在整个开发中,预览可视化与代码可编辑性能同时支持并交互。 ? 如上所示为 SwiftUI 的代码与预览部分,它们之间是可以实时交互的。...Xcode 会通过「动态替换」在实时 APP 中交换编辑的代码,这是 Swift 中的新特征。...预览:现在,我们可以创建任何 SwiftUI 视图的一个或多个预览,从而得到样本数据,并配置几乎用户能看到的所有内容,例如大字体、定位或「暗黑模式」等。

    4.9K10

    Xcode 11 初体验

    (本人是非常喜欢代码块的,对于这个调整我要点赞 将Version Editor 中的 log 选项卡移到了检查器中,组成了新的Source Control History区。...其中说明一下:SwiftUI 预览 系统最低要求macOS 10.15 Add Editor 提供了编辑窗口的任意切割功能 可以指定文件打开的位置。...指定文件打开位置 上面我们介绍了窗口分割,在 Xcode 11 中,你还可以按住 Option + Shift,然后在左边点击要打开的文件,这时会出现窗口选择提示 你可以用键盘,或者鼠标任意方式选择你要打开这个文件的窗口...选择某个 commit,然后 cherry-pick,弹出框点击 cherry-pick就会将该commit 合并到 master分支,并生成一个新 commit。...关于Swift UI 的更新 其中我有两篇博客也介绍到了 SwiftUI : SwiftUI - 百行代码变十行,Swift再创辉煌 WWDC - SwiftUI - 初恋般的感觉 参考:Apple 官方文档一线搬砖工人

    4.2K10

    在 SwiftUI 视图中打开 URL 的若干方法

    访问我的博客 www.fatbobman.com[1] 可以获得更好的阅读体验 本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接...本文的范例代码是在 Swift Playgrounds 4.1 ( macOS 版本 )中完成的,可在 此处下载[2]。...)打开指定的 URL 将文本中的部分内容变成可点击区域,点击后打开指定的 URL 遗憾的是,1.0 时代的 SwiftUI 还相当稚嫩,没有提供任何原生的方法来应对上述两种场景。...此时在 Button 中,我们可以直接通过 openURL 来完成在 SwiftUI 1.0 版本中通过调用其他框架 API 才能完成的工作。...通过在 AttributedString 中为不同位置的文字设置不同的属性,从而实现在 Text 中打开 URL 的功能。

    9.3K31

    WWDC - SwiftUI - 初恋般的感觉

    你可以通过Xcode新的实时反馈功能,来优化你的视图布局 。 第一节 创建一个使用SwiftUI的新Xcode项目。浏览画布、预览和SwiftUI模板代码。...要在Xcode中预览画布上的视图并与之交互,请确保您的Mac运行的是macOS 10.15 beta版。 macOS 10.15 beta版下载地址 Xcode 11下载地址 ?...第七步 在location后面添加一个新的文本框,修改文本框文案并设置字体 import SwiftUI struct ContentView: View { var body: some View...你可以MapKit中的MKMapView类来展示渲染地图界面。 在SwiftUI中要使用UIView或者其子类,你需要让你的view遵循UIViewRepresentable协议。...SwiftUI在WatchKit和AppKit同样声明了类似的协议 ? 第一步 创建新的SwiftUI View来展示MKMapView。

    4.8K10

    从开放平台到受控生态:谷歌宣布 Android 开发者验证政策 | 肘子的 Swift 周报 #101

    因此,即便之后出现了新的搅局者,未来还是会重现类似的循环。社会就是在这样的螺旋中不断发展的。 需要在 iPhone 上调试 HTTPS?[4] 试试 Proxyman!...[6] 在 Swift 的并发模型中,actor 作为一种新的引用类型,为“可变状态”的保护提供了安全保障,能有效避免数据竞争(data race)。...在本文中,作者结合 Swift 的类型系统与并发模型,深入探讨了 actor 的适用场景、常见误区,并总结出一套清晰的判断标准,帮助我们在设计时作出更合理的选择。...在 SwiftUI 中,过度抽象反而可能带来样板代码和额外的状态管理成本。架构的选择,始终应该服务于项目的复杂度与可维护性目标。...工具 OpenAttributeGraph 文档[19] SwiftUI 的核心运行机制背后,有一个至关重要但鲜为人知的组件:AttributeGraph。

    31310

    Xcode 26 beta 4,要崩我们一起崩 | 肘子的 Swift 周报 #096

    SwiftUI for Mac 2025[9] 作为 macOS by Tutorials[10]一书的作者,troz[11]一直密切关注 SwiftUI 在 macOS 上的演进。...在这篇文章中,troz 分享了 2025 年 SwiftUI 在 macOS 26 上的一些新特性与实用技巧,并通过配套的示例 App[12]展示了如新图标格式、WebView 原生支持、富文本编辑、Liquid...在本文中,Artur 演示了如何在 Xcode 中创建 command-line 工程,添加 .s 汇编文件,并将其作为程序入口进行编译,最终构建一个能在终端输出 “Hello, Assembly!”...Natalia Panferova[20]在本文中详细展示了如何利用新的 API 和设计语言来构建现代化的搜索界面。...文章深入剖析了三个主要的内存泄漏源:SwiftUI .id()修饰符的误用导致视图重复创建、异步任务生命周期管理不当,以及 Timer 对象的强引用循环。

    52800
    领券