UITableView vs UITableViewController

13 iphone

有人可以向我解释UITableViewController相对于UITableView的优势吗?通常,我使用控制器,但基本表视图似乎更灵活.

Ano*_*ite 13

我总是使用UITableView.我从不使用UITableViewController.

使用UITableViewController令人困惑.除容器控制器外,每个控制器应该做一个屏幕.

好吧,UITableViewController是一个控制器,大多数时候,tableView根本就不是唯一的东西.

如果您查看文档:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewController_Class/Reference/Reference.html

与UITableView相比,UITableViewController提供的界面非常少.这些都不是必不可少的.

– initWithStyle: 
Run Code Online (Sandbox Code Playgroud)

(呃?我在笔尖中启动我的tableView并且我还是定制了很多)

获取表格视图

  tableView  property 
Run Code Online (Sandbox Code Playgroud)

(原始tableView)

配置表行为

  clearsSelectionOnViewWillAppear  property 
Run Code Online (Sandbox Code Playgroud)

(好吧,只需在ViewWillAppear上放一些代码)

刷新表视图

  refreshControl  property 
Run Code Online (Sandbox Code Playgroud)

[tableView重载]

所以你看,

因此,除非你希望你的代码看起来更整洁(并且不多),否则我没有理由使用UITableViewController.


Aug*_*ust 5

我认为你不了解自己的问题.

UITableViewController是一个控制器.

UITableView是一个视图.

一个不更好比其他的,他们是完全不同的对象,使用完全不同的事情.

我花了一些时间学习模型 - 视图 - 控制器模式,因此普遍采用Cocoa和iPhone SDK.

模型 - 视图 - 控制器设计模式

  • 我正在投票给你答案,因为这是他的问题.我也是.谁投了这个高达14 ..?它们并非完全不同 - 它们是相关的,因此问题是有效的.你何时会将UITableView子类化?与tableView相比,tableViewController用于什么?我想我知道答案.. (17认同)
  • 我不确定OP是否意味着这个,但我对可能有什么意思有类似的问题:使用UITableViewController与包含UITableView的UIViewController有什么好处/缺点? (12认同)

bil*_*aya 0

上面的链接返回“找不到页面”。由于某种原因,即使是更正的链接在超链接时也会返回“找不到页面”(也许 Apple 不允许链接到他们的开发者网站)。

要查找相关信息,请访问 Apple 的开发人员连接 ( http://developer.apple.com/index.html ) 并搜索“cocoa model-view-controller design pattern”。

在结果表中,选择“Cocoa 基础指南:Cocoa 设计模式”。在该页面上,向下滚动左侧的目录,直到看到“模型-视图-控制器设计模式”项。选择该项目可阅读有关该特定设计模式的更多详细信息。