使用Container包含静态TableView及传输数据

  • 需求:用属性为Static cells的TableView布局为界面的一部分, 整体界面在UIViewController里

  • 解决方法: 用UIViewController里Container控件连接TableviewController,
    传输数据通过在Segue方法里设置代理传Self


部分Static Cells的TableView

如果在UIViewController里面加入一个UITableView, 并将Content设置为Static Cells , 加载此ViewController就会报错:

  • Static table views are only valid when embedded in UITableViewController instances.
图片来自backslash112
  • 意思是说,如果 UITableView 不是在 UITableViewController 而是在 UIViewController 中的时候,是不允许将 UITableView 的 Content 属性设置为 Static Cells 的。

解决步骤如下:

  • 在原来的 UITableViewController 加入一个 ContainerView,
  • 连接(control拖线) ContainerView 和 UITableViewController。

这样在Container就可以显示Static Cells的TableView了


Container的数据传输

  • 在UITableViewController里定义代理
  • 点击Segue 设置Identifier
  • 在UIViewController里面设置Segue

到此两个控制器就可以互相调用

  • 值得一提的是用AFNetWorking请求数据是异步多线程, 所以设置数据最好在success的Block里面设置, 这样才会先设置数据, 然后通过Segue的destinationViewController才会拿到数据. 否则数据还没到就去拿就拿不到了.

https://github.com/ALVIN-YANG

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容