UITableViewCell setText被弃用,有什么替代方案?

29

这本书 Beginning iPhone Development (作者为 Dave Mark & Jeff LaMarche) 中的代码将 UITableViewCell 的 text 属性赋值为:

UITableViewCell *cell = ...
...
cell.text = ...

这个任务会引起"'setText' is deprecated..."的警告。我应该使用什么替代方法?
另外,在Xcode中如何打开警告中的长URL,而不需要重新输入整个URL?
6个回答

74

尝试:

cell.textLabel.text = @"test";

(啊,现在回答3.0 SDK的问题真是太好了)


谢谢。我的 Xcode URL 问题没有答案吗?(我应该把它作为一个单独的问题提出吗?) - Daryl Spitzer
我不确定。在过期错误中,我没有得到一个漂亮的 URL :)尝试按 Shift + Command + B 打开构建结果菜单。从那里复制/粘贴可能是可行的。除此之外,我认为你不能做任何事情。 - marcc

7

12年后,苹果将停用 textLabel

enter image description here

现在从 iOS 14 开始,您需要使用 UIListContentConfiguration

Swift:

var content = cell.defaultContentConfiguration()
content.text = "text label"
content.secondaryText = "detail text"
        
cell.contentConfiguration = content

2

cell.textLabel已被弃用

enter image description here

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
}

解决方案 --> 使用UIListContentConfiguration:

enter image description here


通常最好不要发布图片,而是实际的代码。 - FreakyAli
发布了实际的代码。 - Ekambaram E

1

针对第二个问题。

我不确定您所说的URL是什么,但要获取构建输出的完整文本(这就是警告气泡的来源):

1)打开构建窗口(默认键绑定为Command-Shift-B)

在构建进度视图的底部有四个按钮。从左到右的按钮分别是一个勾号、一个警告符号、一些虚线和一个用于更多选项的弹出菜单。

确保第三个符号,即带有虚线的符号,具有深灰色背景。如果您不确定,请切换它。按下此按钮时,暴露的新视图具有构建过程(编译器、链接器、shell脚本输出等)的完整文本输出。

我相信这就是您所询问的内容。

您可以使用Command-=和Command-Shift-+来浏览警告和错误。当您这样做时,每个警告/错误气泡的完整文本将在完整输出视图中被选择。


1

已弃用意味着您需要更改代码,使用由苹果建议的新方法。任何已弃用的方法都将在未来的更新版本中被删除(例如:他们可能会从OS 3.1中删除它)因此,不要使用setText,而要使用此方法。

 [cell.textLabel setText] method

1

您可以使用以下代码:

"cell.textLabel.text"

如何消除“UITableViewCell setText已过时”的警告?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接