当前位置: 首页 > 面试题库 >

如何在Swift中设置UITableViewCellStyleSubtitle和dequeueReusableCell?

越伟泽
2023-03-14
问题内容

我想要一个UITableView使用subtitle样式的单元格dequeueReusableCellWithIdentifier

我最初的Objective-C代码是:

static NSString* reuseIdentifier = @"Cell";
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if(!cell)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
}

UITableView已经在SO上搜索了几个问题之后,我想像这样在Swift中编写它:

tableView.registerClass(UITableViewCell.classForCoder(), forCellReuseIdentifier: "Cell")

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell

但这并不能让我说我想要一种subtitle风格。所以我尝试了这个:

var cell :UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")

这给了我一个subtitle牢房,但是却没有让我dequeueReusableCellWithIdentifier

我已经研究了更多内容,并观看了此视频教程,但是他创建了一个单独subclass的对象UITableViewCell,我认为这是不必要的,因为我之前在Obj-
C中实现了相同的效果。

有任何想法吗?谢谢。


问题答案:

请记住,UITableView该函数在函数中定义为可选,这意味着您的初始单元格声明需要检查属性中的可选。另外,返回的排队单元格也是可选的,因此请确保对进行强制转换UITableViewCell。之后,我们可以强制展开,因为我们知道我们有一个牢房。

var cell:UITableViewCell? = 
tableView?.dequeueReusableCellWithIdentifier(reuseIdentifier) as? UITableViewCell
if (cell == nil)
{
   cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, 
                reuseIdentifier: reuseIdentifier)
}
// At this point, we definitely have a cell -- either dequeued or newly created,
// so let's force unwrap the optional into a UITableViewCell
cell!.detailTextLabel.text = "some text"

return cell


 类似资料:
  • 我想在不同的情况下芳香地改变一些约束。 声明来自情节提要的约束: 这是我的代码,我想在其中更改约束: 但是约束仍然没有改变。 这是我的手机ForRowAt func: 提前感谢您的帮助!

  • 我已经尝试在Objective-C中创建HTTP Get。 它使用中的,并使用选择或。 并通过以下代码设置标头:

  • 问题内容: 在早期版本的Swift中,可以使用以下代码创建延迟: 但现在,斯威夫特3时,Xcode自动改变6个不同的东西,但随后出现以下错误:“无法转换到预期值又名”。 在Swift 3中运行一系列代码之前,如何创建延迟? 问题答案: 经过大量研究,我终于找到了答案。 这会在Swift 3和Swift 4中创建所需的“等待”效果。

  • 问题内容: 我想制作一个UIImageView动画。我声明了NSLayoutConstraintin viewDidLoad并使用了以下代码: 为什么我的图像不动? 问题答案: 在您按下时viewDidLoad,约束引擎尚未 应用,并且视图的起始位置尚未建立。 因此,可以随时在中添加原始约束viewDidLoad,但是您 需要将推迟到animateWithDuration该过程的后面(例如 vie

  • 问题内容: 如何在Swift中设置自定义UIBarButtonItem的操作? 以下代码将按钮成功放置在导航栏中: 现在,我想在触摸按钮时打电话。到目前为止,我的努力: 和.. 和.. 请注意,它出现在智能感知中,但不起作用。 谢谢你的帮助。 编辑:为后代,以下作品: 问题答案: 从Swift 2.2开始,针对编译时检查的选择器有一种特殊的语法。它使用语法:。 Swift 3及更高版本: 如果不确

  • 问题内容: 我正在尝试为我的应用程序设置推送通知系统。我有服务器和开发人员许可证来设置推送通知服务。 我目前正在Swift中运行我的应用。我希望能够从服务器远程发送通知。我怎样才能做到这一点? 问题答案: 尽管可以很好地处理推送通知,但我仍然相信可以立即共享完整的完整案例以简化操作: 要注册APNS的应用程序,(在AppDelegate.swift中的didFinishLaunchingWithO