在我们的项目中,我们刚开始使用Google的Errorprone(http://errorprone.info/)在编译期间获得额外的检查。
我设法根除了我们项目中剩余的所有警告,但是在ButterKnife生成的ViewBinding类中产生了警告。确切地说,问题出现了,因为我创建了一个自定义视图,使用泛型来允许它在不同的数字类型上工作。
@BindView(R.id.customview)
protected MyCustomView<Integer> customView;
在XML布局文件中,放置该视图的实例时没有选择的数字类型,因为它在那里是不可能的。然后,在我们的一个片段中,我只使用ButterKnife获得对该视图的引用:
Warning:(42, 59) [unchecked] unchecked conversion
required: MyCustomView<Integer>
found: MyCustomView
运行errorprone时,会产生以下警告:
NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
}
我完全理解这个警告意味着什么,但我没有看到摆脱它的方法而不必删除自定义视图中的泛型。使用@SuppressWarnings注释对片段中的成员字段进行注释也没有帮助。
所以我想知道是否有人知道如何解决这个问题? 我可以以某种方式禁用生成代码中的检查吗?或者只是对包含&#34; ViewBinding&#34;在它的名字?或者ButterKnife可能需要进行一些调整以允许Errorprone忽略这些警告吗?
我很乐意提供任何帮助!谢谢!