使用 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 提供一个标签并使用该标签访问它。
我想在 运行 时使用这样的 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 提供一个标签并使用该标签访问它。