• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 00:42:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我制作了一个只包含 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''

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



Best Answer-推荐答案


有两种方法可以在 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap