使用 XLPagerTabStrip 时已写入变量 'self',但从未读取警告消息
Variable 'self' was written to, but never read warning message when XLPagerTabStrip is used
我正在使用 cocoapod XLPagerTabStrip 在我的 iOS 应用程序中实现 PagerTabStrip。我在构建或 运行 应用程序
时收到以下警告消息
Variable 'self' was written to, but never read
此警告来自以下用于在滑动时更改项目文本颜色的关闭代码。
changeCurrentIndexProgressive = { [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .lightGray
newCell?.label.textColor = .black
}
- Swift版本:5
- Xcode版本:12.1
- XLPagerTabStrip: 9.0.0
有人可以帮我去掉这条警告信息吗?
您可以安全地从闭包捕获列表中删除 [weak self]
,因为您没有在闭包本身中引用它,因此编译器会警告您不需要捕获它。
闭包应该是这样的
changeCurrentIndexProgressive = { (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .lightGray
newCell?.label.textColor = .black
}
阅读有关闭包和捕获列表的更多信息here
我正在使用 cocoapod XLPagerTabStrip 在我的 iOS 应用程序中实现 PagerTabStrip。我在构建或 运行 应用程序
时收到以下警告消息Variable 'self' was written to, but never read
此警告来自以下用于在滑动时更改项目文本颜色的关闭代码。
changeCurrentIndexProgressive = { [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .lightGray
newCell?.label.textColor = .black
}
- Swift版本:5
- Xcode版本:12.1
- XLPagerTabStrip: 9.0.0
有人可以帮我去掉这条警告信息吗?
您可以安全地从闭包捕获列表中删除 [weak self]
,因为您没有在闭包本身中引用它,因此编译器会警告您不需要捕获它。
闭包应该是这样的
changeCurrentIndexProgressive = { (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .lightGray
newCell?.label.textColor = .black
}
阅读有关闭包和捕获列表的更多信息here