Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Swift中动态获取AnyObject的类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_772_2@

概述

我已经将参数传递给AnyObject的函数,因为可以传递任何东西.有没有办法通过动态获取对象的类型? 通常这是泛型的.有一个AnyObject在代码中不与ObjC交互的很少的理由.如果您根据类型执行不同的操作,那么您实际上可能会使用重载. 也就是说,有几种方法来访问类型.通常,您希望根据类型运行不同的代码,因此您可以使用开关: let x:AnyObject = "asdf" switch x {
@H_772_2@
@H_772_2@ @H_772_2@
我已经将参数传递给AnyObject的函数,因为可以传递任何东西.有没有办法通过动态获取对象的类型? @H_772_2@
@H_772_2@
通常这是泛型的.有一个AnyObject在代码中不与ObjC交互的很少的理由.如果您根据类型执行不同的操作,那么您实际上可能会使用重载.

也就是说,有几种方法来访问类型.通常,您希望根据类型运行不同的代码,因此您可以使用开关:

let x:AnyObject = "asdf"
switch x {
case is String: println("I'm a String")
default: println("I'm not a String")
}

要么

let x:AnyObject = "asdf"
switch x {
case let xString as String: println("I'm a String: \(xString)")
default: println("I'm not a String")
}

或者你可以使用if:

if let String = x as? String {
  println("I'm a String: \(String)")
}

有关更多讨论,请参阅Swift编程语言中的“为Any和AnyObject类型转换”.

但是,除非您使用ObjC代码,否则很少有理由使用Any或AnyObject.泛型和超载是用于解决Swift中这些问题的工具.

@H_772_2@@H_772_2@

大佬总结

以上是大佬教程为你收集整理的在Swift中动态获取AnyObject的类型全部内容,希望文章能够帮你解决在Swift中动态获取AnyObject的类型所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。