这本书 Beginning iPhone Development (作者为 Dave Mark & Jeff LaMarche) 中的代码将 UITableViewCell 的 text 属性赋值为:
UITableViewCell *cell = ...
...
cell.text = ...
这个任务会引起"'setText' is deprecated..."的警告。我应该使用什么替代方法?
另外,在Xcode中如何打开警告中的长URL,而不需要重新输入整个URL?
这本书 Beginning iPhone Development (作者为 Dave Mark & Jeff LaMarche) 中的代码将 UITableViewCell 的 text 属性赋值为:
UITableViewCell *cell = ...
...
cell.text = ...
尝试:
cell.textLabel.text = @"test";
(啊,现在回答3.0 SDK的问题真是太好了)
cell.textLabel已被弃用
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell") else {
return UITableViewCell()
}
var cellContext = cell.defaultContentConfiguration()
cellContext.text = ""
cellContext.secondaryText = ""
cell.contentConfiguration = cellContext
return cell
}
针对第二个问题。
我不确定您所说的URL是什么,但要获取构建输出的完整文本(这就是警告气泡的来源):
1)打开构建窗口(默认键绑定为Command-Shift-B)
在构建进度视图的底部有四个按钮。从左到右的按钮分别是一个勾号、一个警告符号、一些虚线和一个用于更多选项的弹出菜单。
确保第三个符号,即带有虚线的符号,具有深灰色背景。如果您不确定,请切换它。按下此按钮时,暴露的新视图具有构建过程(编译器、链接器、shell脚本输出等)的完整文本输出。
我相信这就是您所询问的内容。
您可以使用Command-=和Command-Shift-+来浏览警告和错误。当您这样做时,每个警告/错误气泡的完整文本将在完整输出视图中被选择。
已弃用意味着您需要更改代码,使用由苹果建议的新方法。任何已弃用的方法都将在未来的更新版本中被删除(例如:他们可能会从OS 3.1中删除它)因此,不要使用setText,而要使用此方法。
[cell.textLabel setText] method
您可以使用以下代码:
"cell.textLabel.text"
如何消除“UITableViewCell setText已过时”的警告?