【问题标题】:How to shorten ternary operator further如何进一步缩短三元算子
【发布时间】:2019-03-30 04:42:21
【问题描述】:

我正在尝试清理我的代码并且目前有这个三元条件。我想再次清理和重构它并使其简短。我该如何反击呢?

let user = AppDelegate.shared.user!.userID
let messageSender = customMessage.sender.userID
let sender = (user == messageSender)

myCell = sender ? tableView.dequeueReusableCell(withIdentifier: "firstCell", for: indexPath) : tableView.dequeueReusableCell(withIdentifier: "secondCell", for: indexPath)

【问题讨论】:

  • 为什么三元的一侧访问tableView,另一侧访问pTableView?这是非常错误的。是不是笔误?
  • 我的错,我已经编辑过了
  • 不喜欢这个。添加第三列将是额外的工作。不妨从一开始就使用开关盒。
  • 在这种情况下,聊天应用程序似乎只有两个方面。 @亚历山大
  • @RatulSharker 然后突然间他想支持内联图像,这是与通常的文本消息单元格不同的单元格

标签: ios swift uitableview ternary-operator


【解决方案1】:

看看这个:

let cellName = (user == messageSender) ? "firstCell" : "secondCell"
myCell = tableView.dequeueReusableCell(withIdentifier: cellName, for: indexPath)

【讨论】:

    【解决方案2】:
    let user = AppDelegate.shared.user!.userID
    let messageSender = customMessage.sender.userID
    let sender = (user == messageSender)
    let reuseIdentifier = sender ? "firstCell" : "secondCell"
    let myTableView = sender ? tableView : pTableView
    
    myCell = myTableView.dequeueReusableCell(withIdentifier: reuseIdentifier, for: indexPath)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-08
      • 2012-06-23
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 2023-04-10
      • 2020-06-04
      相关资源
      最近更新 更多