ios - 一个 UITableView 对象需要初始化 3 次?

标签 ios objective-c iphone uitableview

我将 UITableView 作为 subview 添加到 UIViewController 中,但是当我为 UITableView dataSource 方法设置断点时:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{
   return 1;
}

我发现断点命中了 3 次。这是为什么?

最佳答案

你说的方法是数据源方法,和初始化没有关系。这只是 tableview 调用的一种方法,用于询问表中有多少行。我不太关心 TableView 向数据源询问表中有多少行的次数。

我假设您已经使用界面构建器将您的表格 View 创建为另一个 View 的 subview 。这是你初始化 TableView 的时候。使用界面构建器创建的所有对象都在界面构建器中初始化。然后,Xcode 在编译期间归档这些对象(Apple 称之为冷冻干燥),并在运行时取消归档这些对象。

在取消存档期间,使用界面构建器创建的对象然后连接到它们的导出,布置在屏幕上等。然后是对象执行对它们的委托(delegate)和数据源的调用。这可能会发生不止一次。

希望这对您有所帮助。

关于ios - 一个 UITableView 对象需要初始化 3 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36786393/

相关文章:

iphone - 在iphone中创建递归后台处理程序是否合法?(应用程序进入后台时处理)

iPhone:向工具栏添加分段控件而不是导航 Controller 中的按钮?

ios - 右图像按钮从右侧对齐 x 点

ios - 攻击者能否在 iPhone 上安装名称与合法应用程序相似的应用程序

ios - 快速设置多个 Alamofire 调用的渐进 View

objective-c - iOS NSString stringWithUTF8String/NSString initWithCString 错误utf8解码

ios - ASIHTTPRequest 登录方法并重用凭据

ios - 即使应用程序在后台运行,如何使用通知信息更新 TableView?

iphone - 如何将图像从 iPhone 中的应用程序文档文件夹保存到我的设备图像库文件夹中?

ios - iOS 5中的错误“链接器命令失败,退出代码为1(使用-v查看调用)”是什么?