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

肘子的 Swift 周报 #050| 你的 App 被新系统打败了吗?

Natan Rolnik 在本文中通过详细解析 ANSI 转义码(ANSI Escape Codes),介绍了如何通过这些转义码修改终端文本的前景色、背景色及样式(如粗体、下划线等)。...如何在 SwiftUI 的 NavigationDestination 修饰符中传递 Binding (How to pass Bindings to views in SwiftUI's NavigationDestination...13] 在这篇文章中,Quentin Zervaas 分享了他在迁移至 Swift 6 过程中的策略和技巧,以帮助开发者将代码从使用完成处理器(completion handler)转换为 Swift...[17] 从 iOS 17 开始,开发者可以使用 contentMargins 修饰符在可滚动视图(如 ScrollView、List 和 TextEditor)的内容周围灵活设置内边距,优化布局效果。...: https://x.com/natanrolnik [7] 如何在 SwiftUI 的 NavigationDestination 修饰符中传递 Binding (How to pass Bindings

10610

【IOS开发基础系列】UIAlertController专题

版本和Objective-C版本不同,在swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。...以前我们只能在默认视图、文本框视图、密码框视图、登录和密码输入框视图中选择,现在我们可以向对话框中添加任意数目的UITextField对象,并且可以使用所有的UITextField特性。...当您向对话框控制器中添加文本框时,您需要指定一个用来配置文本框的代码块。         ...假定我们要让“登录”文本框中至少有3个字符才能激活“好的”按钮。很遗憾的是,在UIAlertController中并没有相应的委托方法,因此我们需要向“登录”文本框中添加一个Observer。...弹出框必须要有一个能够作为源视图或者栏按钮项目的描点(anchor point)。由于在本例中我们是使用了常规的UIButton来触发上拉菜单的,因此我们就将其作为描点。

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

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

    开始 首先看下主要内容: 在本教程中,您将了解如何在SwiftUI和Combine中使用VIPER体系结构模式,同时构建一个允许用户创建公路旅行的iOS应用程序,来自翻译。...在本例中,主要的entity是Trip,它包含一个路点Waypoints列表,路点是旅程中的各个站点。 这个应用程序包含一个DataModel类,它包含一个旅行列表。...Creating a View with a Presenter 从SwiftUI视图模板中创建一个新文件,并将其命名为TripListView.swift。...Routing 在构建细节视图之前,您需要通过trip列表中的router将其链接到应用程序的其余部分。 创建一个名为TripListRouter.swift的新Swift文件。...将widgets添加到视图。

    17.6K10

    Swift 中的 MainActor 使用和主线程调度

    MainActor 是Swift 5.5中引入的一个新属性,它是一个全局 actor,提供一个在主线程上执行任务的执行器。...如果您不熟悉 Swift 中的 Actors,我建议您阅读我的文章Swift中的Actors 使用以如何及防止数据竞争,全局Actors的行为类似于Actors,我不会在这篇文章中详细介绍Actors的工作方式...您可以通过在 Xcode 的构建设置中将以下值添加到“Other Swift Flags”中来实现: -Xfrontend -enable-experimental-concurrency 我们可以定义我们自己的全局...例如,我们可以将 MainActor属性添加到视图模型中,以使其在主线程上执行所有任务: @MainActor final class HomeViewModel { // .. } 使用nonisolated...是对Swift中的Actor的一个很好的补充。

    3.4K10

    WWV 2018年十大必看视频

    有最新API的视频,如ARKit 2,Core ML 2,Create ML和Siri Shortcuts; 通过新的Dark Mode支持和改进的源代码编辑覆盖Xcode 10; 然后是Swift 4.2...的首席iOS工程师 如今,机器学习仍然是一个热门话题,Apple已经很容易将这项技术添加到您的应用程序中。使用Core ML 2,您可以将机器学习视为从代码中调用库。...您可以在Mac上直接在Swift中创建和训练模型。创建ML可以与图像识别,文本分析甚至表格数据一起使用,其中多个特征可以进行可靠的预测。...特别是,新的自定义Playgrounds显示转换器允许您在实时REPL类似的结果内联视图中显示您自己的自定义值。他还强调了如何在项目中支持自己的框架。...可以通过其内容文本或图像来了解前者的视图。后者从引擎中获取大小信息。 调用systemLayoutSizeFitting创建引擎实例,添加约束,解决布局,返回大小调整并删除引擎。

    2.8K20

    WWDC 2018年十大视频评论

    有最新API的视频,如ARKit 2,Core ML 2,Create ML和Siri Shortcuts; 通过新的Dark Mode支持和改进的源代码编辑覆盖Xcode 10; 然后是Swift 4.2...的首席iOS工程师 如今,机器学习仍然是一个热门话题,Apple已经很容易将这项技术添加到您的应用程序中。使用Core ML 2,您可以将机器学习视为从代码中调用库。...您可以在Mac上直接在Swift中创建和训练模型。创建ML可以与图像识别,文本分析甚至表格数据一起使用,其中多个特征可以进行可靠的预测。...特别是,新的自定义游乐场显示转换器允许您在实时REPL类似的结果内联视图中显示您自己的自定义值。他还强调了如何在项目中支持自己的框架。...可以通过其内容文本或图像来了解前者的视图。后者从引擎中获取大小信息。 调用systemLayoutSizeFitting创建引擎实例,添加约束,解决布局,返回大小调整并删除引擎。

    3.4K20

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

    Rudrank Riyam[12]在本文中介绍了如何在 MLX Swift 中使用工具调用,并以实时天气查询为例,演示了从定义工具、解析 LLM 调用、获取天气数据到应用数据的完整流程。...在这篇文章中,方君宇详细介绍了 URL Scheme 和 Universal Link 的配置方法,并探讨了如何在 SwiftUI 中处理深层链接事件。...Catalogs 大幅改善了 Xcode 项目的本地化效率,但其以英文文本作为键的方式,虽然提升了可读性,却带来了缺乏分组、上下文不清、翻译一致性差等问题。...[18] .xcconfig文件是 Xcode 项目中去中心化管理构建配置的重要工具,能够帮助开发者将环境变量(如 API 地址、编译选项、日志级别)从 Xcode 界面和 Swift 代码中解耦出来。...此外,Mirza 还介绍了 Swift 编译器 (swiftc) 在处理 C 互操作时的关键参数,如-I、-L和-lfoo,确保 C 代码可以正确链接到 Swift 项目。

    5900

    肘子的 Swift 周报 #055| 让技术为我所用,不要被其反噬

    不过,有一点很重要:无论最终呈现了什么样的壮丽、恢弘场景,在哈利·波特电影中,这些特效仍忠实地服务于电影本身,是为了更好地展现剧情,并没有喧宾夺主。...本文中,tit 不仅深入讲解了 Swift 宏的基础和进阶用法,还展示了如何在 Bilibili 会员中心模块开发过程中,通过自定义宏减少冗余代码的编写,优化整体开发体验。...Xcode 16 中的一项新变化:在调试模式下构建 SwiftUI 应用时,所有视图都会被包裹在 AnyView 中。...但在某些情况下(如 List ),这一处理方式可能会阻碍性能优化。Vahter 提醒开发者留意该行为带来的影响,避免因误判而陷入调试陷阱。...Junping[13] 强调了通过 Inject 实现在 Cursor 中构建类似 Xcode 预览的开发体验[14],展示了如何在新的工作流中替代传统工具。

    3100

    Swift: 有用的标准库全局函数

    global function 由于历史原因,Swift 标准库中仍然具有相当多的公共全局功能,其中一些功能至今仍然非常有用。让我们看一下zip()和dump()之类的函数。...假设我们要更改子视图及其所有父视图的背景颜色。也许您会像这样建立一个while循环: var currentView: UIView? = self while currentView !...标准库如何实现对数组和字符串的写时复制(copy-on-write)语义的实现——我在有关值类型的内存管理的文章中已经提到了这一点。...Swift中,作为一种创建可以跳过某些元素的循环的方法,因为从swift 语言中删除了等效的 C 样式方法: for (int i = 0; i < 10; i += 2) { ... } 现在,您可以使用...例如,这是我们如何在Date对象中添加“日差”的概念,以便可以在stride()中使用它们: extension Date: Strideable { func advanced(by n: Int

    2.7K20

    玩转 Xcode Playground(上)

    image-20211223164000220 Xcode 可以打开 Playground 项目,也可以将 Playground 项目添加到 Project 或 Workspace 中(有助于测试 SPM...在 Swift Playgrounds 中创建 Playground 项目 在 Swift Playgrounds 4 中可以直接创建与 Xcode 兼容的 Playground 项目(.playground...如何调试代码 Playground 并不提供设置断点的功能,但是可以通过指定执行结束点或单步执行的方式来满足部分的调试需求。...比如说,WWDC 2021 上新推出的 AttributedString[3] 目前尚不支持 QuickLook ,但通过在 playgroundDescription 中将其转换为 NSAttributedString...通过导入 PlaygroundSupport 并将当前页面的实时视图设置为你的自定义视图或视图控制器,就可以将一个交互式实时视图添加到 Playground Page 中。

    4.1K20

    SwiftUI:WeSplit项目 计算每个人的金额

    到目前为止,最后一部分显示了一个简单的文本视图,其中包含用户输入的任何账单金额,但现在是该项目重要部分的时候了:我们希望该文本视图显示每个人需要为账单支付多少。...,以便它显示正确的文本。...我们可以通过使用SwiftUI添加的一个简洁的字符串插值功能来解决这个问题:决定数字应该如何在字符串中格式化的能力。...把“.2”放进混合物中,就是要求小数点后有两位数字,不管它们是什么。Swift足够聪明地绕过它们,所以我们仍然可以得到很好的精度。...无论如何,我们希望每人的金额使用新的格式说明符,因此请将总金额文本视图修改为: Text("$\(totalPerPerson, specifier: "%.2f")") 现在最后一次运行这个项目——我们完成了

    1.6K20

    AttributedString——不仅仅让文字更漂亮

    Swift的点或键语法按名称访问属性,不仅可以保证类型安全,而且可以获得编译时检查的优势。...的属性也将一并被转换 视图 在属性字符串中,属性和文本可以被独立访问,AttributedString提供了三种视图方便开发者从另一个维度访问所需的内容。...Character和unicodeScalar视图 这两个视图提供了类似NSAttributedString的string属性的功能,让开发者可以在纯文本的维度操作数据。...支持从String、Data或URL中解析Markdown文本内容。 比如: let mdString = try!...•扩展AttributeDynamicLookup(支持点语法)在AttributeDynamicLookup中创建符合自定义Scope的下标方法。为点语法、KeyPath提供动态支持。

    3.9K40

    iOS之深入解析Xcode 13正式版发布的40个新特性

    十二、Instruments Instruments 中的调用树视图和扩展详细信息视图现在用“[inlined]”标记指示内联函数; 通过详细视图导航栏更容易发现不同的视图。...; 可以通过选择 Edit > Copy Location 以 : 的形式将所选内容的当前位置复制到剪贴板; 在 Swift 中将占位符扩展为闭包时,代码完成使用闭包的参数名称而不是 ;...二十五、Swift Packages 根包和基于分支的包依赖项现在可以在其目标设置中使用 unsafeFlags; Swift 包现在可以声明 Mac Catalyst 的部署目标,并且现在可以在构建条件中将...二十八、App Store StoreKit 2 引入了一个现代的基于 Swift 的 API,它利用了新的语言功能,如 Swift 并发性。...四十、UIKit 对于针对 iOS 15 beta SDK 编译的应用程序,在文本视图和文本字段中键入时,按键命令不再拦截文本输入和文本编辑命令。

    8.8K40

    SwiftUI TextField进阶——格式与校验

    SwiftUI TextField进阶——格式与校验 如想获得更好的阅读体验,请访问我的博客 www.fatbobman.com[1] SwiftUI的TextField可能是开发者在应用程序中最常使用的文本录入组件了...本文为【SwiftUI 进阶】系列文章中的一篇,在本文中,我将介绍如何在TextField中实现如下功能: •屏蔽无效字符•判断录入的内容是否满足特定条件•对录入的文本实时格式化显示 textfieldDemo1...如何在TextField中屏蔽无效字符 现有屏蔽字符方法 在SwiftUI中,可以通过设置仅使用特定的键盘类型来实现一定程度上的录入限制。...由于onChange是在文字发生变化后才会调用,因此,方案二会导致视图二度刷新,不过考虑到文字录入的应用场景,性能损失可以忽略( 如使用属性包装器进一步对数值同字符串进行链接,可能会进一步增加视图的刷新次数...•支持的类型种类方案一可以直接使用多种数据类型,方案二中需在TextField的构造方法中将原始数值转换成对应格式的字符串。方案二的演示代码中,可以通过result获取字符串对应的数值。

    8.2K20

    UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

    增加重力效果 仍然在 ViewController.swift中,在viewDidLoad上方添加以下属性: var animtor: UIDynamicAnimator!...这些属性是隐式解包的optionals(如类型名称后面的!所示)。 这些属性必须是可选的,因为我们没有在init方法中初始化它们。...碰撞通知 到目前为止,已经添加了一些视图和行为,然后让动态接管。 在下一步中,将了解如何在物品碰撞时接收通知。...打开ViewController.swift并在viewDidLoad上方添加以下属性: var firstContact = false 将以下代码添加到碰撞代理方法的末尾func collisionBehavior...然后创建一个新的捕捉行为,将方块对齐到用户的触摸位置,并将其添加到动画制作工具中。 构建并运行应用程序。

    1.9K30

    苹果仍在研发更大尺寸的 iMac | Swift 周报 issue 60

    要使用这些 App 内的新功能,用户可以直接打开 App,也可以在 iOS 设置中将该 App 设置为默认支持,然后双击 iPhone 侧边按钮,即可发起交易。...为了解决这个问题,作者必须使用捕获列表 [ _headerCell ],但这一点并不直观,特别是对于初学者来说。...不断变化的开发环境(如 beta 版本之间的差异)进一步增加了学习和采用 Swift 并发的难度。...在 SwiftUI 中追踪几何变化摘要: 这篇博客介绍了如何在 SwiftUI 中使用新的 onGeometryChange 修饰符来追踪视图的几何变化。...作者提供了多个示例,展示了如何在 ScrollView 中追踪视图的尺寸和位置变化,并强调了该修饰符对性能优化的重要性。话题讨论你希望 Apple 更加关注 AI 开发的哪个领域?

    14911
    领券