gpt4 book ai didi

iphone - 子类化 UITableView 所以它不需要 xib

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:38 25 4
gpt4 key购买 nike

我在 IB 中制作了一个仅由 UITableView 组成的 XIB。我注意到可以继承 UITableViewController 并完全取消 xib。

我的问题是,你是怎么做到的?

到目前为止,我唯一改变的是我的 .h 是......

   @interface MyView : UITableViewController

并删除了我的 XIB。显然我收到一条错误消息

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with <path>
name 'MyView''

所以我的问题是,为了正确完成这个子类化,还剩下什么?

最佳答案

有两种方法可以在 iOS 中设置 View Controller 。

  • 使用 .xib 文件:您使用 -initWithNibName:bundle: 实例化 View Controller ,将 .xib 文件的名称作为第一个参数传递,并且(除非您正在做一些高级的stuff) nil 作为第二个参数。操作系统将查找您的 .xib 文件并将其反序列化为一堆对象并将它们附加到您的 View Controller 。然后操作系统调用您的 View Controller 子类的 -viewDidLoad: 方法,您在其中完成设置。
  • 以编程方式:您使用 -init 实例化 View Controller ,或者对于 TableView Controller ,initWithStyle:。操作系统然后调用您的子类的 -loadView 方法,您可以在其中手动实例化您的 View 层次结构。

听起来您只需要使用 -initWithStyle: 而不是 -initWithNibName:bundle: 来实例化它。

关于iphone - 子类化 UITableView 所以它不需要 xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com