当前位置: 首页 > 面试题库 >

确定Any.Type是否可选

梁丘洲
2023-03-14
问题内容

我正在尝试确定给定类型tAny.Type)是否为可选类型,我正在使用此测试

t is Optional<Any>.Type

但它始终返回false。

那么有什么办法可以做到这一点?


问题答案:

假设您要执行的操作是这样的:

let anyType: Any.Type = Optional<String>.self
anyType is Optional<Any>.Type // false

可悲的是,swift当前(从Swift
2开始)不支持协方差和协变,并且不能直接针对类型进行类型检查Optional.Type

// Argument for generic parameter 'Wrapped' could not be inferred
anyType is Optional.Type // Causes error

一种替代方法是使Optional特定协议扩展,并检查该类型:

protocol OptionalProtocol {}

extension Optional : OptionalProtocol {}

let anyType: Any.Type = Optional<String>.self
anyType is OptionalProtocol.Type // true


 类似资料:
  • 问题内容: 我已经从WSDL文件生成了WCF客户端服务代理,该文件调用了第三方Java Web服务。现在,我需要配置绑定和代理来调用Web方法。 但是,我只有以下SOAP信息,用户名和密码以及客户端证书。我该如何解决需要做的事情? 是否有任何“反向配置”应用程序或教授所需技能的网站? 我想我的意思是“消息的这一部分转换为这种配置”。有人可以帮忙吗? 对于同一个项目,我问了这个问题,所以如果有人知道

  • 我通过将字符串转换为BSON来进行MongoDB查找。在进行转换之前,是否有办法确定我拥有的字符串是否是Mongo的有效ObjectID? 下面是我当前findByID函数的coffeescript。它工作得很好,但是如果我确定字符串不是ID,我希望通过不同的属性进行查找。

  • 问题内容: 我编写了两个简单的函数来确定字符串是否是回文。我以为它们是等效的,但是2不起作用。为什么是这样? 1个 2 问题答案: 不会创建字符串,而是创建“反向”对象: 因此,字符串不等于object 。为了使它起作用,您需要确保实际评估了该对象: 所述插入件在每个字符串中的字符,并且这导致反转串之间正在变成一个字符串对象。

  • 问题内容: 有像isiterable这样的方法吗?到目前为止我找到的唯一解决办法就是打电话 但是我不确定这有多愚蠢。 问题答案: 检查是否可以处理序列类型,但是对于Python 2中的字符串可能会失败。我也想知道正确的答案,在此之前,这是一种可能性(也适用于字符串): 所述内置的检查的方法或串的情况下的方法。 另一种通用的pythonic方法是假定一个可迭代的对象,如果它不适用于给定的对象,则将优

  • 问题内容: 我正在通过将字符串转换为BSON进行MongoDB查找。在转换之前,有没有办法让我确定我拥有的字符串是否是Mongo的有效ObjectID? 这是我当前的findByID函数的脚本。效果很好,但是如果我确定字符串不是ID,我想按其他属性查找。 问题答案: 我发现猫鼬的ObjectId验证程序可用来验证有效的objectId,但我发现了一些无效ID被视为有效的情况。(例如:任意12个字符

  • 问题内容: 我有一个需要用户输入密码的应用程序。 我想要做的是从控制台读取密码(如果操作系统支持unix)或显示JOptionPane并要求用户输入密码(如果操作系统支持图形界面(例如Windows))。 有人可能会争辩说,在上述两种情况下控制台始终可用,因此控制台输入就足够了。但是问题是,如果Java应用程序开始使用javaw.exe,则控制台不可用。因此,我需要一种方法来确定我是否可以做任何一