来自" UITableViewCell"到不相关的类型" UICollectionView"总是失败

时间:2016-09-20 05:44:15

标签: ios iphone swift uitableview swift2

实际上我正在尝试在TableViewCell中添加CollectionView,但是我无法对它进行处理,因为你可以看到在TableViewCell中添加TableView的情况下工作正常但是在Collection视图的情况下它显示错误。 请参阅屏幕截图以供参考。

您能否建议如何解决此错误。

enter image description here

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return dataArray.count
}

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

    if (dataArray[indexPath.row]["type"].string == "Traffic") {
        tableView.registerClass(TrafficCollectionViewCell.self, forCellReuseIdentifier: "TrafficCollectionView")
        let TrafficCell  = tableView.dequeueReusableCellWithIdentifier("TrafficCollectionView", forIndexPath: indexPath) as! TrafficCollectionViewCell
        print("im in Traffic Cell")
        TrafficCell.TrafficArray = dataArray[indexPath.row]["detail"].arrayObject!
        TrafficCell.TrafficCollectionView.reloadData()
        TrafficCell.TrafficViewController = self
        return TrafficCell
    }


   else if (dataArray[indexPath.row]["type"].string == "News") {
        tableView.registerClass(NewsTableViewCell.self, forCellReuseIdentifier: "NewsTableViewCell")
        let NewsCell = tableView.dequeueReusableCellWithIdentifier("NewsTableViewCell", forIndexPath: indexPath) as! NewsTableViewCell
        print("Im in News Cell")
        NewsCell.NewsArray = dataArray[indexPath.row]["detail"].arrayObject!
        NewsCell.NewsTableView.reloadData()
        NewsCell.NewsTableViewController = self
        return NewsCell
    }

    else if (dataArray[indexPath.row]["type"].string == "Category") {
        tableView.registerClass(CategoryTableViewCell.self, forCellReuseIdentifier: "CategoryTableViewCell")
        let CategoryCell = tableView.dequeueReusableCellWithIdentifier("CategoryTableViewCell", forIndexPath: indexPath) as! CategoryTableViewCell
        print("Im in Category Cell")
        CategoryCell.CategoryArray = dataArray[indexPath.row]["detail"].arrayObject!
        CategoryCell.CategoryTableView.reloadData()
        CategoryCell.CategoryTableViewController = self
        return CategoryCell
    }

0 个答案:

没有答案