gpt4 book ai didi

ios - 以下代码是什么意思?为什么这里使用 "id"?

转载 作者:行者123 更新时间:2023-11-28 19:04:41 27 4
gpt4 key购买 nike

UITableView *tableView = (id)[self.view viewWithTag:1]; //why id is used here?

[tableView registerClass:[BIDNameAndColorCell class] forCellReuseIdentifier:CellTableIdentifier];

这是“开始 iOS 6 开发”一书中的一段代码,第 8 章,第 245 页。

我想知道为什么这里需要“id”?

最佳答案

id 不应该在那里。应该是:

UITableView *tableView = (UITableView *)[self.view viewWithTag:1];

括号中的部分称为“类型转换”。这是必需的,因为 viewWithTag: 方法返回一个 UIView 引用,但您希望将它分配给一个 UITableView 变量。强制转换告诉编译器你知道得更多并且返回的 View 确实是一个 TableView 。如果没有强制转换,编译器将提示分配无效。

在这里也可以使用 id,因为 id 是一个通用类型,可以表示任何对象类型。

关于ios - 以下代码是什么意思?为什么这里使用 "id"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584159/

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