[英]swift - coredata refresh tableview
我有一個用於顯示產品的表格視圖和一個用於添加新產品的視圖。
在AddProductViewController中,將產品數據添加到coredata后,我關閉了控制器並返回到我的ProductTableView。
navigationController!.popViewControllerAnimated(true)
在ProductTableView中,我添加了refreshcontroller
override func viewDidLoad() {
super.viewDidLoad()
product = fetchProducts()
refreshControl = UIRefreshControl()
refreshControl?.addTarget(self, action: "refreshProducts", forControlEvents: UIControlEvents.ValueChanged)
refreshControl?.beginRefreshing()
}
func refreshProducts(){
product = fetchProducts()
}
func fetchProducts() -> [Product] {
let request = NSFetchRequest(entityName: "Product")
let sortDescriptor = NSSortDescriptor(key: "productName", ascending: true)
request.sortDescriptors = [sortDescriptor]
let product = (try! context!.executeFetchRequest(request)) as! [Product]
self.view.hideLoading()
self.refreshControl?.endRefreshing()
return product
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.refreshControl?.beginRefreshing()
self.tableView.reloadData()
}
我所擁有的是:
1.關閉第二個ViewController后,不會刷新Tableview
2.有一個凍結的刷新圖標。
3.當我啟動我的應用程序時,我的刷新輪在旋轉並且沒有消失。
override func viewDidLoad() {
super.viewDidLoad()
refreshControl = UIRefreshControl()
refreshControl?.addTarget(self, action: "refreshProducts", forControlEvents: UIControlEvents.ValueChanged)
}
func refreshProducts(){
product = fetchProducts()
self.tableView.reloadData()
}
func fetchProducts() -> [Product] {
let request = NSFetchRequest(entityName: "Product")
let sortDescriptor = NSSortDescriptor(key: "productName", ascending: true)
request.sortDescriptors = [sortDescriptor]
let product = (try! context!.executeFetchRequest(request)) as! [Product]
self.view.hideLoading()
self.refreshControl?.endRefreshing()
return product
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.refreshControl?.beginRefreshing()
refreshProducts()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.