使用 xibs 在 运行 时间内制作视图控制器

Make view controller in run time with xibs

我想在 运行 时使用这样的 nib 名称制作视图控制器, 但这正在崩溃。

错误

[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key imageViewApp.

let vc = UIViewController(nibName: nibName, bundle: nil)

当我尝试使用这样的静态值时

let vc = MyViewController(nibName: "MyViewController", bundle: nil),正在运行。

这是 MyViewController 中的 IBOutlet

我用谷歌搜索,但没有找到足够的解决方案,请告诉我解决方案。

您正在初始化 UIViewController,而 UIViewController 没有 imageViewApp 属性。您需要在定义 属性 的地方初始化自己的 subclass,就像您在第二个示例中所做的那样。

尝试这样的事情:

let vc = MyViewController(nibName: nibName, bundle: nil)

如果您的 nib 文件与 class 同名,则不必指定:

let vc = MyViewController(nibName: nil, bundle: nil)

从该视图控制器中删除 imageViewApp 属性 IBOutlet 并为该 ImageView 提供一个标签并使用该标签访问它。