首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以从字符串继承自定义类吗?

可以从字符串继承自定义类吗?
EN

Stack Overflow用户
提问于 2019-02-22 06:34:27
回答 1查看 53关注 0票数 0

我想使用我的自定义类作为字符串。这在Swift中是可能的吗?例如,我想这样做:

代码语言:javascript
复制
label.text = CustomClass()
EN

回答 1

Stack Overflow用户

发布于 2019-02-22 07:05:00

对于您展示的用例,一种可能性是扩展UILabel*以包装和解包您的类型,因为它可以将自身转换为字符串或从字符串转换。

代码语言:javascript
复制
class CustomClass {
    var stringValue: String {
        // Create a string somehow
    }

    init(stringValue: String) {
        // Configure
    }
}

代码语言:javascript
复制
extension UILabel {
    var myText: CustomClass? {
        get { return self.text.flatMap(CustomClass.init(stringValue:) }
        set { self.text = newValue?.stringValue }
    }
}

这样你就可以编写label.myText = instanceOfCustomClass了。

如果有必要--即,您发现自己需要对几种类型执行此操作--您甚至可以将“字符串转换”提取到协议中,而不是依赖于特定的具体类型。

*我在这里假设是iOS;但是,同样的原理也适用于任何有var text: String? { get set }的东西。

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

https://stackoverflow.com/questions/54817304

复制
相关文章

相似问题

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