【发布时间】:2019-11-22 07:57:06
【问题描述】:
你们知道是否可以在 Storyboard 中使用 Swift 嵌套类作为 UIViewController 吗?
我正在研究构建项目的不同方法,其中一种是通过将相关类嵌套在同一个主类中来对它们进行分组。
让我用一个例子来解释:
假设我有一个用于显示我的应用设置的屏幕,它需要一个 UIViewController 和一个模型。
我可以创建 2 个类:SettingsController 和 SettingsModel,但我想知道如果有一个包含嵌套类 Controller 和 Model 的主类 Settings所以
class Settings {
class Controller: UIViewController {
...
}
class Model {
...
}
}
这样我就可以通过Settings.Controller 和Settings.Model 来使用它们,我认为这看起来很不错。
现在这在使用情节提要时可以正常工作。在 Storyboard 中,当我选择一个视图控制器来设置自定义类时,如果我输入 Setting.Controller 并按 Enter,则该字段不会验证并被清除。
所以我的问题是你们知道我做错了什么或者这根本不可能吗?
【问题讨论】:
-
整个问题是 Cocoa/CocoaTouch 是用 Objective-C 编写的,因此不支持泛型、嵌套类、枚举等 Swift 特性。这就是 SwiftUI 如此重要的原因之一。
标签: ios swift cocoa-touch storyboard