如何消除导致此 Thread 1: EXC_BAD_ACCESS 错误的错误?
How to exterminate the bug causing this Thread 1: EXC_BAD_ACCESS error?
我是 Swift 的新手(大约一个月前才学会),我正在创建一个自定义集合视图单元格,并将我的自定义 class 连接到视图控制器 class。我问这个问题是因为我一直在努力解决一个错误
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let answer = collectionView.numberOfItems(inSection: cellArray.count)
return answer
}
出去几个小时。这个错误是我的视图控制器 class 中的一个方法,它在 LLDB window 中显示一条错误消息 "Thread 1: EXC_BAD_ACCESS (code=2...[computer memory address here]" 在 let answer = collectionView.numberOfItems(inSection: cellArray.count)
处突出显示 我有 followed this tutorial 并且bug还没除掉
我已经包含了我的 View Controller class 初始化属性的部分,如果这有帮助的话:
@IBOutlet weak var ibCollectionView: UICollectionView!
var cellArray:[customCollectionViewCell] = Array(repeatElement(customCollectionViewCell(), count: 6))
let displayedCellDimensions = CGSize(width: 343, height: 248)
LLDB界面截图:
感谢任何帮助,因为我很困。谢谢!
首先让我吃惊的是,您正在递归调用您的 numberOfItemsInSection:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let answer = collectionView.numberOfItems(inSection: cellArray.count)
return answer
相反,你应该只给它想要的东西,物品数量:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return cellArray.count
当您在 swift 文件中重命名或删除并重新添加 InterfaceBuilder 出口而不修改情节提要出口时,会发生处理 collectionView 和 tableView 时的另一个问题。我附上了屏幕截图,以便您明白我的意思:
如果其中一个实心圆圈是空的,则连接断开。要解决此问题:
- 打开情节提要和select层次结构中的集合视图。
- CTRL+从层次结构拖动到辅助编辑器中的 swift 文件(使用热键 ALT+CMD+Enter 打开)
- 应该会出现一个对话。输入出口设置。
- 清理 swift 文件和连接编辑器中的所有旧插座和断开的连接。
我是 Swift 的新手(大约一个月前才学会),我正在创建一个自定义集合视图单元格,并将我的自定义 class 连接到视图控制器 class。我问这个问题是因为我一直在努力解决一个错误
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let answer = collectionView.numberOfItems(inSection: cellArray.count)
return answer
}
出去几个小时。这个错误是我的视图控制器 class 中的一个方法,它在 LLDB window 中显示一条错误消息 "Thread 1: EXC_BAD_ACCESS (code=2...[computer memory address here]" 在 let answer = collectionView.numberOfItems(inSection: cellArray.count)
处突出显示 我有 followed this tutorial 并且bug还没除掉
我已经包含了我的 View Controller class 初始化属性的部分,如果这有帮助的话:
@IBOutlet weak var ibCollectionView: UICollectionView!
var cellArray:[customCollectionViewCell] = Array(repeatElement(customCollectionViewCell(), count: 6))
let displayedCellDimensions = CGSize(width: 343, height: 248)
LLDB界面截图:
感谢任何帮助,因为我很困。谢谢!
首先让我吃惊的是,您正在递归调用您的 numberOfItemsInSection:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let answer = collectionView.numberOfItems(inSection: cellArray.count)
return answer
相反,你应该只给它想要的东西,物品数量:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return cellArray.count
当您在 swift 文件中重命名或删除并重新添加 InterfaceBuilder 出口而不修改情节提要出口时,会发生处理 collectionView 和 tableView 时的另一个问题。我附上了屏幕截图,以便您明白我的意思:
如果其中一个实心圆圈是空的,则连接断开。要解决此问题:
- 打开情节提要和select层次结构中的集合视图。
- CTRL+从层次结构拖动到辅助编辑器中的 swift 文件(使用热键 ALT+CMD+Enter 打开)
- 应该会出现一个对话。输入出口设置。
- 清理 swift 文件和连接编辑器中的所有旧插座和断开的连接。