我希望这不是一个愚蠢的问题,我一直在寻找解决方案,但一直没能解决这个问题。
在主视图控制器中,我使用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/