用于在纯编程的Swift ios应用程序中创建和利用可重用组件的策略? (UIKit不是SwiftUI)

问题描述 投票:-1回答:1

我一直在尝试几种不同的方式,以编程方式通过“组件”通过“组件”创建真正可重用/可扩展的iOS应用程序。(仅限于swift,没有故事板)。

来自React的背景,我发现基于组件的策略非常直观且可扩展。

[尝试在iOS中复制此视图后,我发现创建自定义UIViews / UIStackViews(内部具有自己的可自定义UI组件)并在不同的视图控制器中初始化这些视图的效果很好,但是直觉上必须有战斗-测试了我可能不知道的执行此操作的策略。

[我想知道其他人如何在程序化Swift / iOS应用程序中采用“基于组件”的策略,以及他们可能会使用哪些架构模式来实现这一目标。

ios swift components uikit
1个回答
0
投票

您所描述的是最好的方法。如果您查看Apple的UIKit策略,您会看到UIView作为组件并不是非常有用,但其子类却很有用。例如,UIScrollView是所有可滚动内容的基础,其中包括UITableView,它可以说是iOS的骨干。]

这种将组件分解为逻辑行为,然后根据需要扩展这些行为的模式是UIKit所基于的。

您可能会认为SwiftUI在基于组件的体系结构上做得更好,尤其是与React的相似之处,但是基本上是相同的。 SwiftUI与众不同的是,SwiftUI具有不同的布局系统,该布局系统允许视图自行调整大小,从而非常容易地填充任意数据,从而使其易于重用。就是说,如果您在运行时检查视图层次结构,则SwiftUI仍然是99%的UIKit,具有新的布局算法,简洁的语法以及对Combine.framework的大量使用。

简而言之,子类化UIKit组件可以自己制作并重用它们。如果您不熟悉iOS,请先环顾四周,然后再编写自己的iOS。在Apple和GitHub之间,几乎所有内容都有一个现有组件。而且,当您编写自己的模型时,它是基于Apple的某些真正通用组件,例如UIPickerViewUIButton。希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.