相关疑难解决方法(0)

如何在Swift中使用pull刷新?

我正在使用swift构建一个RSS阅读器,需要实现pull to reload功能.

这是我试图这样做的方式.

class FirstViewController: UIViewController,
    UITableViewDelegate, UITableViewDataSource {

   @IBOutlet var refresh: UIScreenEdgePanGestureRecognizer
   @IBOutlet var newsCollect: UITableView

   var activityIndicator:UIActivityIndicatorView? = nil

   override func viewDidLoad() {
       super.viewDidLoad()
       self.newsCollect.scrollEnabled = true
      // Do any additional setup after loading the view, typically from a nib.

      if nCollect.news.count <= 2{
          self.collectNews()
       }
      else{
          self.removeActivityIndicator()
       }
      view.addGestureRecognizer(refresh)
   }



@IBAction func reload(sender: UIScreenEdgePanGestureRecognizer) {
    nCollect.news = News[]()
    return newsCollect.reloadData()
}
Run Code Online (Sandbox Code Playgroud)

我正进入(状态 :

属性'self.refresh'未在super.init调用中初始化

请帮助我理解手势识别器的行为.一个工作示例代码将是一个很好的帮助.

谢谢.

xcode ios uirefreshcontrol swift

214
推荐指数
8
解决办法
16万
查看次数

self.tableView.reloadData()在Swift中不起作用

我正在尝试同时学习开发Swift的基础知识iOS,所以请耐心等待.我有一个TableViewController首先解析本地JSON文件并将其非常简单的数据渲染到TableViewCellSectionHeaderViews中.在同一个中TableViewController,我正在调用一个JSON端点,它返回数据,然后我将其设置为变量,这样我就可以访问我实际想要获得的内容(API结构不太理想).所以,我最终设置了正确的数据self.tableData然后调用self.tableView.reloadData()但没有任何反应.是什么赋予了?

import UIKit

class BusinessTableViewController: UITableViewController {

    var data: NSMutableData = NSMutableData()
    var tableData: NSArray = NSArray()

    @lazy var Business: NSArray = {
        let pathTCT = NSBundle.mainBundle().pathForResource("TCT", ofType: "json")
        let data = NSData.dataWithContentsOfFile(pathTCT, options: nil, error: nil)
        return NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as NSArray
        }()

    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.titleView = UIImageView(image: UIImage(named: "growler"))

        tableView.registerClass(BeerTableViewCell.self, forCellReuseIdentifier: "cell")
        tableView.separatorStyle = .None …
Run Code Online (Sandbox Code Playgroud)

json objective-c uitableview ios swift

55
推荐指数
3
解决办法
10万
查看次数

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万
查看次数