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

概述

我试图动态创建一个基于类实例类型使用泛型,但我遇到类内省的困难。 这里有问题: >是否有一个Swift相当于Obj-C的self.class? >有没有办法实例化一个类使用来自NSClassFromString的AnyClass结果? >有没有办法获得AnyClass或者严格从一个通用参数T类型信息? (类似于C#的typeof(T)语法) 好吧,一个,Swift等效的[NSString类]是.s
我试图动态创建一个基于类实例类型使用泛型,但我遇到类内省的困难。

这里有问题:

>是否有一个Swift相当于Obj-C的self.class?
>有没有办法实例化一个类使用来自NSClassFromString的AnyClass结果?
>有没有办法获得AnyClass或者严格从一个通用参数T类型信息? (类似于C#的typeof(T)语法)

好吧,一个,Swift等效的[NSString类]是.self(见 Metatype docs然他们很瘦)。

事实上,NSString.class甚至不工作!你必须使用NSString.self。

let s = NSString.self
var str = s()
str = "asdf"

类似地,使用swift类我试过…

class MyClass {

}

let MyClassRef = MyClass.self

// ERROR :(
let my_obj = MyClassRef()

嗯…错误说:

我花了一段时间来弄清楚这是什么意思…结果,它想让类有一个@required init()

class X {
    func me() {
        println("asdf")
    }

    required init () {

    }
}

let Y = X.self

// prints "asdf"
Y().me()

一些文档将此称为.Type,但MyClass.Type在操作中给我一个错误

大佬总结

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

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

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