iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios –.self在Swift中的struct类型之后大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对金属示例中的一行代码感到困惑,其中内存指针绑定到一个类型.

uniforms = UnsafeMutableRawPointer(uniformBuffer.contents()).bindMemory(to: Uniforms.self,capacity: 1)

我的困惑是制服后的自我类型. Uniforms是一个在Objective-C文件中定义的结构,代码不会在没有.self的情况下运行.为什么这有必要?

解决方法

.self返回相应类型的元类型实例.可以将其视为类型安全类型标识符(例如,比使用字符串更安全).然后,您可以安全地调用此类元类型实例上的可用初始值设定项,静态方法和静态属性.

例如,您也可以将其存储在变量中:

let Metatype: Uniforms.Type = Uniforms.self

和Uniforms.Type是实际的元类型(即类型的类型).

元类型速成课程.一个非常快速的例子来了解这个元组件实际上是如何有用的:

class Super {
    let id: Int
    required init(id: int) { self.id = id }
}

class SubA: Super { ... }
class SubB: Super { ... }

let subclass: Super.Type = SubA.self

然后,稍后,使用子类创建一个实例,而不对实际的子类类型名称进行硬编码:

let obj = subclass.init(id: 123) // new SubA instance.

大佬总结

以上是大佬教程为你收集整理的ios –.self在Swift中的struct类型之后全部内容,希望文章能够帮你解决ios –.self在Swift中的struct类型之后所遇到的程序开发问题。

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

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