我是快速编程的新手。我创建了一个简单的web服务来连接swift应用程序。然后我将JSON数据作为列表检索到表视图中,并将数据插入到Web服务中。现在我想在表视图中更新json数据行。请任何人帮助我
我使用此代码插入数据。
@IBAction func btnInsert(sender: AnyObject) {
let companyName = txtcompanyName.text
let phoneNumber = txtphoneNumber.text
let country = txtCountry.text
let address = txtAddress.text
let email = txtEmail.text
let password = txtPassword.text
// Send HTTP POST
let myUrl = NSURL(string: "http://localhost:8888/MAMP/appconnect/userRegister.php");
let request = NSMutableURLRequest(URL:myUrl!);
request.HTTPMethod = "POST";
let postString = "companyName=\(companyName!)&phoneNumber=\(phoneNumber!)&country=\(country!)&address=\(address!)&email=\(email!)&password=\(password!)";
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
if let parseJSON = json {
let resultValue = parseJSON["status"] as! String!
print("result: \(resultValue)")
var isUserRegistered:Bool = false
if(resultValue == "Success") {
isUserRegistered = true
}
var messageToDisplay:String = parseJSON["message"] as! String
if(!isUserRegistered) {
messageToDisplay = parseJSON["message"] as! String
}
dispatch_async(dispatch_get_main_queue(), {
//Display alert message with confirmation
let myAlert = UIAlertController(title: "Alert", message: messageToDisplay, preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default){ action in
self.dismissViewControllerAnimated(true, completion: nil)
}
myAlert.addAction(okAction)
self.presentViewController(myAlert, animated: true, completion: nil)
})
}
} catch {
print(error)
}
}
task.resume()
}
答案 0 :(得分:1)
我在上面的代码段中没有看到任何使用新行更新表格视图的代码。在tableview中添加新行需要遵循的步骤是
更新您的数据源(数组,字典 - 用于填充表格的任何内容)
使用https://developer.apple.com/reference/uikit/uitableview/1614879-insertrows或通过重新加载tableview(首选前者)在tableview中插入一行
这可以在显示警报的地方完成。
如果您遇到其他问题,例如表格中未反映的数据,您可能需要在问题中添加更多详细信息