ios - 设置时更改类属性

标签 ios swift class

我有以下类(class):

class Message {
    var content: [String]?

    init(content: [String]) {
        self.content = content
    }
}

我希望content 是一个字符串数组,它们总是大写。即使小写文本设置为 content。 我似乎无法为此使用计算属性

最佳答案

您可以使用属性观察器 didSet 在设置数组时将uppercased() 应用到数组:

class Message {
    var content: [String]? {
        didSet {
            if let arr = content {
                self.content = arr.map { $0.uppercased() }
            }
        }
    }

    init(content: [String]) {
        self.content = content.map { $0.uppercased() }
    }
}

关于ios - 设置时更改类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924917/

相关文章:

ios - 在字典键值对中,如何将值(其中value可以是不同类型的类型)解包为String

swift - 转换为 Swift 替代品不起作用

ios - 如何从 ViewController 切换回 TabBarController 的第二个选项卡

swift - 在 UIScrollView 中使用 snapkit/autolayout

java - 无法创建实例 - 构造函数具有私有(private)访问权限

class - Arduino 类 "does not name a type"

Java最终抽象类

iphone - 如何以编程方式将 UIImage 添加到 UIImageView,然后将该 UIImageView 添加到另一个 UIView?

ios - NSObject 返回空值

ios - 使用BOOL创建NSDictionary时收到EXC_BAD_ACCESS(Code = EXC_ARM_DA_ALIGN)