我希望这不是一个愚蠢的问题,我一直在寻找解决方案,但一直没能解决这个问题。
在主视图控制器中,我使用php和json从mysql数据库获取数据。然后,用户通过单击自定义单元格中的自定义按钮从表视图中选择相关项。我现在可以根据单击/取消单击的按钮在列表中添加/删除…

    private var selectedItems = [Int: String]()

    func cellButtonTapped(cell: CustomCell) {

    let indexPath = self.tableView.indexPathForRowAtPoint(cell.center)!
    let selectedItem = postsCollection[indexPath.row]
    let item = selectedItem.product
    let id = selectedItem.Id

    let idItem : [Int:String] = [id:"\(item)"]

        if selectedItems[id] == nil {
            // now val is not nil and the Optional has been unwrapped, so use it
            selectedItems[id] = "\(item)" //item
        } else {
            selectedItems[id] = nil
        }

   println("\(selectedItems)")

    }

如果我选择列表中的项目,则当我选择项目时,它会像这样显示。当我取消选择它们时,将从列表中删除。
[6:Mybulen,7:Ecotrin XL,5:aspen辛伐他汀,8:Lorien]
我想创建一个JSON数组,并将该数组发布到一个PHP文件中,该文件将更新数据库。生成的json数组应该如下所示…
[{"Id":"6","repeatflag":"1"},{"Id":"7","repeatflag":"1"},{"Id":"5","repeatflag":"1"}]

所以基本上,我选择的任何项都会添加到数组中,并将“repeatFlag”设置为“1”。我的php文件有一个更新mysql数据库中“repeatFlag”的脚本。当用户准备好后,他们将单击一个发送按钮,该按钮将在JSON数组中发布他们的选择。希望有意义?
谢谢。

最佳答案

你的代码看起来有点奇怪,也许是因为我不知道它的上下文…但您可以像这样构建一个JSONarray:

class ViewController: UIViewController, UITableViewDelegate {

    var jsonArrayWithItemsToSendToPHP: [[String: AnyObject]] = [[String: AnyObject]]()

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let selectedItem = postsCollection[indexPath.row]

        var jsonObjectToPutToArray: [String: AnyObject] = [String: AnyObject]()
            jsonObjectToPutToArray["id"] = selectedItem.Id
            jsonObjectToPutToArray["name"] = selectedItem.product
            jsonObjectToPutToArray["repeatflag"] = 1

        jsonArrayWithItemsToSendToPHP.append(jsonObjectToPutToArray)
    }

}

关于arrays - 在Swift中创建JSON数组以更新MySQL数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32071951/

10-12 17:38
查看更多