该应用程序使用Xcode 7.3.1在Swift 2.2中编写。 我有一个UITableView ,其单元格具有UICollectionView和水平FlowLayout 。 当我快速上下滚动桌面视图并且不让它停在设备(iPad Air 2,iOS 9.3.2)或模拟器上时,应用程序崩溃 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我对Xcode还是陌生的,如果我遗漏了一些显而易见的东西,我深表歉意,但是我已经坚持了几天。
我创建了一个UICollectionView- 故事板上的集合视图
视图的每一侧都有位置0,上面的标签也有约束。 单元格中的图像和标签也有约束。
当我运行应用程序时,我得到了- 运行应用程序
考虑到约束条件,我不确定这怎么可能。 但是,如果我删除任何约束,请编辑现有约束,或者将其完全删除,我只会得到SIGABRT异常。
我非常困惑,如果我的代码正在编译并运行,我假设填充UICollectionView的代码正在运行。 有东西吗
TestVC.swift
import UIKit
class TestVC: UIViewController, UICollectionViewDelegate,UICollectionViewDataSource {
@IBOutlet weak var myCollection: UICollectionView!
// making this an empty array incase the data hasn't loaded yet.
private(set) public var testArrays = [dataArrays]()
override func viewDidLoad() {
super.viewDidLoad()
myCollection.dataSource = self
myCollection.delegate = self
}
func initData(category: Category){
testArrays = DataService.instance.testData(forCategoryTitle: category.title)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return testArrays.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as? collectionViewCell{
let testArray = testArrays[indexPath.row]
cell.updateViews(testArray: testArray)
return cell
}
return collectionViewCell()
}
}
collectionViewCell.swift
import UIKit
class collectionViewCell: UICollectionViewCell {
@IBOutlet weak var cellImage: UIImageView!
@IBOutlet weak var cellLabel: UILabel!
func updateViews(dataarray: dataArrays) {
cellImage.image = UIImage(named: dataarray.imageName)
cellLabel.text = dataarray.title
}
}
Cell本身未在Attributes Inspector中注册,我将其更改为-collectionViewCell,现在可以正常使用了。
我还有一个约束方面的问题,我没有完全阅读Output终端,这是个新手,虽然看起来有点神秘,但是我可以对输出进行故障排除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.