gpt4 book ai didi

ios - NavigationController 在 popToRootViewController 之后不重新加载 tableView 数据

转载 作者:行者123 更新时间:2023-11-28 07:16:36 26 4
gpt4 key购买 nike

对不起我的英语

在我的应用程序中,我有一个登录表单。如果用户名和密码是正确的,用户名存储在 keyChain 中并返回到主 viewController 使用:self.navigationController.popToRootViewControllerAnimated(true)

数据由一个 php 文件加载,该文件使用用户名从该用户名获取数据

在主视图 Controller 中,它们是一个包含数据的 tableView

但是问题是连接之后,tableView没有变化。它只有在我重新启动应用程序时才会改变

我获取数据的代码:

@IBOutlet var tblTask: UITableView!

let bodyData = "username=" + username!

let URL: NSURL = NSURL(string: "link to php file")
let request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in
var output = NSString(data: data, encoding: NSUTF8StringEncoding)

var array = self.JSONParseArray(output)

for var i = 0, a = 1 ; i < array.count ; i += 2, a += 2 {

if(a > 0 && i > 0)
{
self.arrayDate.append(array[i])
self.arrayPoid.append(array[a])
}
}
for var i = 0; i < self.arrayDate.count ; i++ {
self.arrayPoid[i] += " livres"
}


self.tblTask.reloadData()
}

最佳答案

我认为 Unwind Segues 是您所需要的。您只需几步即可设置它们。在您的 rootViewController 中添加此方法:

@IBAction func reset(segue: UIStoryboardSegue) {
tableView.reloadData()
}

在 Interface Builder 中,在任何需要返回到 rootViewController 的 viewController 中创建 UIButtons。然后将每个 UIButtons 链接到它们各自 viewController 的红色“退出”按钮,并在出现的弹出菜单中选择重置:(见下图)。

enter image description here

enter image description here

当您单击这些按钮时,您将被带回您的 rooViewController 并且 reset: 将被执行(重新加载您的 tableView)。

请参阅 WWDC 2012 session 视频“在您的应用中采用 Storyboard”,了解有关展开 segues 的更多详细信息 [从 38 分钟开始]。

关于ios - NavigationController 在 popToRootViewController 之后不重新加载 tableView 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com