【发布时间】:2016-03-06 14:05:00
【问题描述】:
我正在尝试从服务中获取一些数据并尝试将其显示到表格视图中,一切正常,但第一次没有显示数据。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
if NSUserDefaults.standardUserDefaults().objectForKey("PostedQuesIds") != nil{
arr = NSUserDefaults.standardUserDefaults().objectForKey("PostedQuesIds") as? NSArray
}
else{
print("I am getting no IDS !!!")
}
if self.arr != nil{
for quesIds in self.arr!{
print("ids '\(quesIds)'")
var url = "http://some.com/forum"
url.appendContentsOf(quesIds as! String)
WebHandler.sharedInstance.GET_REQ(url)
self.dataArray = WebHandler.sharedInstance.questionDetails?.objectForKey(quesIds) as? NSMutableArray
}
}
我试过了
//NO LUCK WITH THE FOLLWING CODE, IT IS RUNNING AS EXPECTED BUT DATA IS NOT //SHOWN
// dispatch_async(dispatch_get_main_queue(), { () -> Void in
//
//
//
// print("I am called wtf?")
// self.tableView.reloadData()
//
// })
然后我想通过NSNotification来做;我做了什么:
override func viewWillAppear(animated: Bool) {
nc.addObserver(self, selector: "reload", name: "reloadTable", object: nil)
}
func reload(){
//tried in main queue and out
dispatch_async(dispatch_get_main_queue(), { () -> Void in
print("I am called wtf?")
self.tableView.reloadData()
})
}
现在我不知道它有什么问题,仅供参考,我每次都从 webhandler 类发布 nsnotification,它的工作方式与我的日志中一样,我收到了消息。请帮助我,您的任何帮助将不胜感激。
【问题讨论】:
-
dataArray实际上是否包含任何数据? -
你能展示代码你是如何在 UITableViewDataSource 方法中分配数据的吗?
-
是的,它包含我有完整的日志@Lamar
-
这是完美的,因为当我第二次访问同一个屏幕时,它显示了从服务器 @SaqibOmer 获取的完整数据
标签: ios swift uitableview reload