我在用
JTAppleCalendar
func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell?, cellState: CellState)
已停止在App Store版本中工作,但它正在当前开发分支中工作。
经过快速调查,我发现唯一改变的是
FBSDKCoreKit
和
FBSDKLoginKit
可可豆版本-
4.34.0
4.38.1
它解决了一个问题。
不幸的是,我只能在我的项目(商业项目)中重现这个问题,这个项目有其他库、毒蛇体系结构,而且由于明显的原因,我不能共享它。
不过,我不认为豆荚会导致这样的问题,所以我正在调查什么会导致这样的问题。几个小时后我发现了
delegate
属于
UICollectionView
didSelectItemAt
没有响应。
我只需在后面加上断点就可以了
super.dataSource = self
super.delegate = self
在里面
InternalActionFunctions.swift
文件和
super.delegate
是
nil
.
JTAppleCalendarVariables.swift
我发现作者
代表
和
dataSource
变量专用于下一个代码
@available(*, unavailable)
/// Will not be used by subclasses
open override var delegate: UICollectionViewDelegate? {
get { return super.delegate }
set { /* Do nothing */ }
}
@available(*, unavailable)
/// Will not be used by subclasses
open override var dataSource: UICollectionViewDataSource? {
get { return super.dataSource }
set {/* Do nothing */ }
}
注释这段代码解决了我的问题,
代表
分配了价值,一切都很完美。
所以我的问题是,在某些情况下,上面的代码是如何导致这些奇怪的问题的
didSelectItemAt
方法有效,而在其他方法中则不行?或者我走错了路,这不可能是一个原因?