【发布时间】:2018-01-25 01:31:23
【问题描述】:
我有一个 iPad Master-Detail 应用程序,DetailViewController 有一个表单来向 API 提交 POST 请求。
如果成功,使用刚刚创建的对象更新主控tableView 的正确方法是什么?
DetailViewController POST 方法:
@IBAction func saveButton(_ sender: Any) {
// Getting data from UITextFields
if let name = nameTextField.text, let parent = parentTextField.text, let email = emailTextField.text, let phoneString = phoneTextField.text, let period = periodSegmentedControl.titleForSegment(at: periodSegmentedControl.selectedSegmentIndex){
guard let phone = Int(phoneString) else { return }
let parameters: Parameters = [
"name": name,
"parent": parent,
"email": email,
"phone": phone,
"period" : period
]
Alamofire.request(endpoint, method: .post, parameters: parameters)
.responseJSON{ response in
switch response.result {
case .success:
print("Validation Successful")
//Here's where i should update Master tableView (?)
case .failure(let error):
print(error)
}
}
}
我在 StackOverflow 中搜索过类似的答案,但没有找到任何有效的方法。
Ps:抱歉代码不好,这里只是以swift开头。
【问题讨论】:
-
要么使用委托,要么从 self.splitViewController?.viewControllers 获取委托
-
@koropok 你能告诉我一个使用 viewControllers 数组调用方法在 tableview (Master) 中重新加载数据的示例吗?我已经尝试了几天,但没有成功。
标签: ios swift uitableview alamofire uisplitviewcontroller