[英]I am getting an “Implicit conversion from enumeration type” warning in Xcode for iOS and I don't know why
使用此代码:
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink
error:&error];
我收到这个警告:
Implicit conversion from enumeration type 'enum NSTextCheckingType' to different enumeration type 'NSTextCheckingTypes' (aka 'enum NSTextCheckingTypes')
有人可以向我解释为什么我会收到此警告以及如何解决此问题?
+dataDetectorWithTypes:
声称从NSTextCheckingTypes枚举而不是NSTextCheckingType中获取值,但是通过其余的文档,它确实允许您从后一个枚举中指定单个值。 我只想添加一个演员到NSTextCheckingTypes。 您可能还想在API上提交错误 。
查看此方法的文档。 第一个参数必须是NSTextCheckingTypes
类型。 但是您传入的值NSTextCheckingTypeLink
的类型为NSTextCheckingType
。
您需要传入NSTextCheckingAllSystemTypes
, NSTextCheckingAllCustomTypes
或NSTextCheckingAllTypes
。
编辑:
在进一步审查时,虽然从参数的角度来看我所说的似乎是正确的,但该方法的其余文档声称其他与参数类型相矛盾的东西。 无论是改变了什么,这都是一个错误。 有人应该向Apple报告。
进一步编辑:
一种解决方法是使用强制转换:
NSDataDetector *detector =
[NSDataDetector dataDetectorWithTypes:(NSTextCheckingTypes)NSTextCheckingTypeLink
error:&error];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.