TableView不在ViewController中显示数据:Swift

时间:2015-03-31 15:17:09

标签: ios xcode uitableview swift

当我在整个TableViewController中使用它时,一切都工作正常,但因为我需要一个下拉菜单,我切换到基本的ViewController以获得更大的灵活性。从那以后,Haven就能够显示数据了。

我想我已覆盖所有基地。它是viewController中的tableView。 Delegate和dataSource从tableView设置到我的viewController。单元标识符正确设置为" cell"。正在拉取数据,并且可以确认它位于collectionsAndArrays对象中。

任何帮助都会很棒,谢谢。

编辑:添加了self.collectionTableView!.reloadData()但仍无法正常工作

import UIKit

class ImagesTabViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

var collectionInfo: NSArray = DataManager.getUserCollections()
var items: NSMutableArray = []

@IBOutlet weak var collectionTableView: UITableView!
@IBOutlet weak var menuView: UIView!

override func viewDidLoad() {
    super.viewDidLoad()


    APIManager().getData() { completed in
        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            if completed {


                self.items = NSMutableArray(array: self.collectionInfo)


            } else {
                //do something else
            }
        })
        // Do any additional setup after loading the view.
    }
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    // #warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete method implementation.
    // Return the number of rows in the section.
    var numberOfCollections: Int = self.items.count

    return numberOfCollections

}


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    var collectionsAndArrays = PSCollection()
    let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")


    // Configure the cell...

    collectionsAndArrays = self.items[indexPath.row] as! PSCollection
    cell.textLabel!.text = collectionsAndArrays.name
    cell.detailTextLabel!.text = collectionsAndArrays.created_at


    return cell
}
}

1 个答案:

答案 0 :(得分:0)

试试这个

override func viewDidLoad() {
super.viewDidLoad()


APIManager().getData() { completed in
    dispatch_async(dispatch_get_main_queue(), { () -> Void in
        if completed {


            self.items = NSMutableArray(array: self.collectionInfo)
            self.collectionTableView.reloadData()


        } else {
            //do something else
        }
    })
    // Do any additional setup after loading the view.
}

}