【问题标题】:Rearrange UITableView with a struct variable?用结构变量重新排列 UITableView?
【发布时间】:2016-12-11 18:10:12
【问题描述】:

我正在尝试使用结构中的变量重新排序表。 我知道它适用于字符串,如下所示。

var items:[String] = ["Item one", "item two", "item three"]

重新订购方法

   override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
    let item:String = items[fromIndexPath.row]
    self.items.remove(at: fromIndexPath.row)
    items.insert(item, at: to.row)
    self.tableView.reloadData()

我已经设法让我的“summery”变量出现在单元格上,并让“text”变量出现在我的 viewController 中。但是,我无法弄清楚如何使用 struct 变量重新排序。我相信是这样的?

到目前为止,我没有尝试过什么(如下)给我一个错误:无法将类型 String 转换为 Item

类中的结构(Items.swift)

struct Item {

var summery: String
var text: String

}

var items:[Item]

重新订购方法

 override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
 var item = Items.sharedInstance
 let itemToMove:String = item.items[fromIndexPath.row].summery
 item.items.remove(at: fromIndexPath.row)
// Problem is on line below //
 item.items.insert(itemToMove, at: to.row)
 self.tableView.reloadData()
 }

【问题讨论】:

    标签: ios swift uitableview struct


    【解决方案1】:

    这是因为您试图将 String 插入到 Item 结构的数组?

    替换

     override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
       var item = Items.sharedInstance
       let itemToMove:String = item.items[fromIndexPath.row].summery
       item.items.remove(at: fromIndexPath.row)
      // Problem is on line below //
       item.items.insert(itemToMove, at: to.row)
       self.tableView.reloadData()
     }
    

    override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
         var item = Items.sharedInstance
         let itemToMove = item.items[fromIndexPath.row]
         item.items.remove(at: fromIndexPath.row)
         item.items.insert(itemToMove, at: to.row)
         self.tableView.reloadData()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2014-08-09
      • 2010-11-12
      • 1970-01-01
      • 2014-06-04
      相关资源
      最近更新 更多