相关疑难解决方法(0)

Swift替代performSelectorOnMainThread

我想在此方法中的块中重新加载我的表数据:

import UIKit
import AssetsLibrary

class AlbumsTableViewController: UITableViewController {

    var albums:ALAssetsGroup[] = []

    func loadAlbums(){
        let library = IAAssetsLibraryDefaultInstance

        library.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupAll),
            usingBlock: {(group, stop) in
                if group {
                    self.albums.append(group)
                }
                else {
                    dispatch_async(dispatch_get_main_queue(), {

                        self.tableView.reloadData()

                    })
                }
            }, failureBlock: { (error:NSError!) in println("Problem loading albums: \(error)") })

    }

    override func viewDidLoad() {
        super.viewDidLoad()
        loadAlbums()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation …
Run Code Online (Sandbox Code Playgroud)

performselector swift ios8

17
推荐指数
2
解决办法
2万
查看次数

在Swift中拉到刷新而不是重新加载UITableView

我已经成功JSON填充UITableView,但JSON经常更新,所以我需要刷新的能力.我按照THIS TUTORIAL实现了拉动刷新控制.在视觉上,它似乎一切正常,但当我调用tableView.reloadData()表不重新加载.但是,如果我离开ViewController并返回,表格会更新.为什么会tableView.reloadData()工作,viewDidAppearviewWillAppear而不是在我的自定义refresh()功能?

MainVC.swift文件

    class MainVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

        @IBOutlet var tableView: UITableView!
        var dataArray: NSArray = NSArray()

        @IBOutlet var Controller: UISegmentedControl!

        var refreshControl:UIRefreshControl!

        func refresh(sender:AnyObject)
        {
            refreshBegin("Refresh",
                refreshEnd: {(x:Int) -> () in
                    self.tableView .reloadData()
                    println("Table Reloaded")
                    self.refreshControl.endRefreshing()
            })
        }

        func refreshBegin(newtext:String, refreshEnd:(Int) -> ()) {
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
                println("refreshing")
                sleep(2)

                dispatch_async(dispatch_get_main_queue()) {
                    refreshEnd(0)
                }
            }
        }

        override func viewWillAppear(animated: …
Run Code Online (Sandbox Code Playgroud)

json uitableview ios pull-to-refresh swift

3
推荐指数
1
解决办法
9206
查看次数

标签 统计

swift ×2

ios ×1

ios8 ×1

json ×1

performselector ×1

pull-to-refresh ×1

uitableview ×1