问题描述:
同一套代码在debug模式下运行良好,在release下有些方法(我遇到的是代理方法)不运行。(Xcode10.2.1)
换一个低版本Xcode版本后release后又能正常跑。
问题原因:
代理方法定义的时候用来@objc
标签
如
@objc optional func collectionViewExcuteDelete(fadeView: UIView, completion: () -> Void)
解决方式:
在声明这些代理方法的时候需要加上@objc
标签,否则release状态下无法调用改该方法。
@objc func collectionViewExcuteDelete(fadeView: UIView, completion: () -> Void) { print("ExcuteDelete") }
调试技巧
在Xcode中可以切换运行环境如图
image.png
网友评论