gpt4 book ai didi

ios - swift 中的多个枚举值

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:54 24 4
gpt4 key购买 nike

我想创建一个像这样的枚举值

view.autoresizingMask = [UIViewAutoresizing.FlexibleBottomMargin, UIViewAutoresizing.FlexibleHeight]

我不知道如何设计 enum 来接受多个变量。

我想设计以下内容。

enum ActivityType: Int {
case Event = 1
case CommentOnEvent = 2
case CommentOnComment = 3
}
var activityType = [CommentOnEvent, CommentOnComment]

var activityType = Event

最佳答案

它不是一个enum,它是一个符合OptionSetTypestruct。您可以按照以下模式创建一个:

struct AnimalTraits : OptionSetType {
let rawValue: Int
init(rawValue: Int) { self.rawValue = rawValue }

static let LaysEggs = AnimalTraits(rawValue: 1)
static let GivesLiveBirth = AnimalTraits(rawValue: 2)
static let HasFur = AnimalTraits(rawValue: 4)
static let HasScales = AnimalTraits(rawValue: 8)

static let Mammal: AnimalTraits = [GivesLiveBirth, HasFur]
static let Fish: AnimalTraits = [LaysEggs, HasScales]
}

然后你可以像这样使用它:

struct Animal {
let name: String
let traits: AnimalTraits
}

let salmon = Animal(name: "Salmon", traits: .Fish)

salmon.traits.contains(.HasFur) //false
salmon.traits.contains(.HasScales) //true

let bizarro = Animal(name: "Fictional Animal", traits: [.LaysEggs, .GivesLiveBirth])

关于ios - swift 中的多个枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35487403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com