Tho*_*mas 3 cocoa-touch storyboard ios swift
你们知道是否可以在 Storyboard 中使用 Swift 嵌套类作为 UIViewController 吗?
我正在研究构建项目的不同方法,其中之一是通过将相关类嵌套在同一个主类中来对它们进行分组。
让我用一个例子来解释一下:
假设我有一个用于显示应用程序设置的屏幕,它需要 UIViewController 和模型。
我可以创建 2 个类:SettingsController和,但我想知道通过包含嵌套类的主类SettingsModel来构造它是否会更好SettingsControllerModel
class Settings {
class Controller: UIViewController {
...
}
class Model {
...
}
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以边做边用它们Settings.Controller,Settings.Model我认为这看起来很不错。
现在,除了使用故事板之外,这一切都很好。在 Storyboard 中,当我选择视图控制器来设置自定义类时,如果我输入Setting.Controller并按 Enter 键,则该字段不会验证并被清除。
所以我的问题是你们知道我做错了什么或者这根本不可能吗?
当然,在发布问题后我找到了解决方案,因此我将其分享给后代。
所以我尝试这样做的方式有一个问题:
Settings.Controller但 Interface Builder 不会将其视为有效的类名解决方案很简单,为控制器提供自己的 Objc 名称:
class Settings {
@objc(SettingsController)
class Controller: UIViewController {
}
...
}
Run Code Online (Sandbox Code Playgroud)
通过这样做,您可以为嵌套控制器指定一个 ObjC 名称,从而将其暴露给 Interface Builder。现在您可以通过填写来引用控制器SettingsController。
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |