tableView内的tableView不会自动加载到tab switch

时间:2017-11-09 13:03:22

标签: ios swift uitableview swift4

我有一个使用故事板创建的视图但是,但是当页面加载时,除非我切换到第二个段并再次返回到第一个段,否则它是空白的。

    switch sender.selectedSegmentIndex {
    case 0:
        Container1.isHidden = true
        Container2.isHidden = false

    case 1:
        Container1.isHidden = true
        Container2.isHidden = false
    default:
        break
    }

container1有一个使用api连接加载的项目列表。直到我切换到第二段然后再回到第一段时才会显示这些项目。

我是快速的新人,所以显而易见的事情对我来说可能并不那么明显。

已修改(提供更多信息) 我使用storyboard创建了视图,然后使用视图类中的代码连接,该视图类具有如下所示的两个容器(superViewController.swift):

@IBOutlet weak var segmentedOutbox: UISegmentedControl!
@IBOutlet weak var Container1: UIView!
@IBOutlet weak var Container2: UIView!

我还为两个容器(container1TableViewController.swiftcontainer2TableViewController.swift)中的每一个都有控制器swift文件,我在其中处理api请求并在每个容器视图上填充表。

class container1TableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{

    @IBOutlet weak var tableView: UITableView!
    var data = [String]()

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

    override func viewWillAppear(_ animated: Bool) {
        DispatchQueue.main.async(execute: {
            self.handleAPI()
        })
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    //some more code goes here
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        var returnValue = 0


        if data.count > 0 {
             returnValue = outboxFeed.count
        }else {
             returnValue =  0
        }

        return returnValue

    }

    func handleAPI(){
        //api requests goes here
    }

}

container2 swift类文件看起来或多或少与第一个文件相同。

感谢您的帮助。

0 个答案:

没有答案