跳到主要内容

Fucking SwiftUI

Fucking SwiftUI 是一个精选的关于 SwiftUI 的常见问题的列表。

提示

你在这里找到的所有答案并不意味着是完整或详细的,这里的目的是作为一个速查手册的地方,你可以挑选关键词,用于搜索更多细节。

SwiftUI 常见问题

关于 SwiftUI 的常见问题。

我应该学习 SwiftUI 吗?

是的。

我现在应该学习吗?

这取决于 SwiftUI 可以在 iOS 13、macOS 10.15、tvOS 13 和 watchOS 6 上运行。如果您正在开发一个计划仅针对上述操作系统的新 APP,我会说是的。 如果您打算找一份工作或在一个您无法控制此操作系统版本的客户项目上工作,您可能需要等待一两年,然后再考虑迁移到 SwiftUI。 因为大多数客户端工作都希望支持尽可能多的用户,这意味着您必须开发支持 iOS N-1、N-2 或更差的 N-3 的 APP。 所以最好的情况是一年后你才能掌握这个可爱的 SwiftUI。

iOS 14
iOS 14

iOS 14 中一个新的 WidgetKit 框架是 SwiftUI 独有的,所以如果你想支持一个新的小部件,今年可能需要学习它。

我应该学习 UIKit 吗?

是的,UIKit 在相当长的一段时间内仍然是 iOS 世界的重要组成部分。 在现阶段,SwiftUI 仍然缺少很多特性,我认为即使你从 SwiftUI 开始,你仍然需要时不时地回到 UIKit。

iOS 14
iOS 14

iOS 14 缩小了一些差距,但重点仍然存在。 当你遇到障碍时,你需要回到 UIKit。

SwiftUI 会取代 UIKit 吗?

不是现在,但我可以看到它可能在未来。 Apple 刚刚推出了 SwiftUI,它看起来已经很棒了。 我希望两者能够长期共存,SwiftUI 还很年轻,需要多年的成长才能取代它的祖先。

如果我今天能今天能学到一样东西,选择 UIKit 还是 SwiftUI 呢?

可惜我没有这个问题的答案。 UIKit 和 SwiftUI 都是不同的野兽,有着不同的思维方式。 我建议您尝试这两种方法,并自行判断您最喜欢哪种范式。 无论您选择哪种技术,我可以向您保证的一件事是您可以使用其中任何一种技术创建出色的应用程序。

SwiftUI 中的视图控制器在哪里?

它们被弃用了。 现在视图通过新的响应式框架 Combine 与其它交互。 这种新的通信方法可以替代 UIViewController。

Swiftui 中 ContentView_Previews 作用

ContentView_Previews 在 SwiftUI 中的作用是为了在 Xcode 的 Canvas 面板中显示 ContentView 的预览,以便开发者可以即时查看关联视图的外观和布局. 这使开发者能够更有效地调试和修改界面,而不必运行整个应用程序.

swiftui 中 struct 是指什么

在 SwiftUI 中,struct 指的是结构体。结构体是 Swift 中的一种数据类型,用于构建视图层级结构。通常情况下,我们会将结构体定义为 View 的扩展,用于创建和管理视图。与类(class)不同,结构体是值类型(Value Type),意味着它们在传递和赋值时是通过复制的方式进行的。结构体在 Swift 中扮演着重要的角色,常见的 Swift 结构体包括 Bool、Int、Double、Array、String、Dictionary 等。通过结构体,我们可以更好地组织和管理代码,实现数据绑定和视图更新等功能。