首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在layerClass中重写

如何在layerClass中重写
EN

Stack Overflow用户
提问于 2014-06-22 12:14:16
回答 4查看 14.5K关注 0票数 51

在目标C中,我们经常这样做

代码语言:javascript
复制
+ (Class)layerClass
{
    return [CAEAGLLayer class];
}

显然,这是行不通的:

代码语言:javascript
复制
CAEAGLLayer.class()

因为class是Swift中的关键字。你是怎么在斯威夫特做的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-06 20:32:45

改编自苹果的ListerKit示例代码:

代码语言:javascript
复制
override class func layerClass() -> AnyClass {
    return CAEAGLLayer.self
}

Swift 3更新:

代码语言:javascript
复制
override class var layerClass: AnyClass {
    get {
        return CAGradientLayer.self
    }
}
票数 105
EN

Stack Overflow用户

发布于 2016-09-09 17:12:26

在iOS 10中,这是一个计算属性,而不是一个方法:

代码语言:javascript
复制
override class var layerClass: AnyClass {
    get {
        return CAEAGLLayer.self
    }
}
票数 28
EN

Stack Overflow用户

发布于 2014-06-22 13:27:14

斯威夫特的自省和客观反思有很大的不同。您可能想看看有关亚型的文档。

对于你的情况,我会尝试:CAEAGLLayer.self

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24351102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档