检查Swift中的值或引用类型

检查Swift中的值或引用类型,第1张

概述我们如何检查函数中传递的参数是值还是引用类型?例如 func isReferenceType(toTest: Any) { return true // or false} 正如我们看到here,我们无法利用泛型来做到这一点. AnyObject是任何类类型自动符合的协议,因此您可以编写: func isReferenceType(toTest: Any) -> Bool { r 我们如何检查函数中传递的参数是值还是引用类型?例如

func isReferenceType(toTest: Any) {    return true // or false}

正如我们看到here,我们无法利用泛型来做到这一点.

解决方法 AnyObject是任何类类型自动符合的协议,因此您可以编写:

func isReferenceType(toTest: Any) -> Bool {    return toTest.dynamicType is AnyObject}class Foo { }struct bar { }isReferenceType(Foo())    // trueisReferenceType(bar())    // falseisReferenceType("foo")    // falseisReferenceType(123)      // falseisReferenceType([1,2,3])  // false
总结

以上是内存溢出为你收集整理的检查Swift中的值或引用类型全部内容,希望文章能够帮你解决检查Swift中的值或引用类型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1005153.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存