实例成员 'count' 不能用于类型 'TweetFilterOptions.AllCases'

Posted

技术标签:

【中文标题】实例成员 \'count\' 不能用于类型 \'TweetFilterOptions.AllCases\'【英文标题】:Instance member 'count' cannot be used on type 'TweetFilterOptions.AllCases'实例成员 'count' 不能用于类型 'TweetFilterOptions.AllCases' 【发布时间】:2021-02-02 03:34:32 【问题描述】:

我正在制作一个有枚举的 swiftUI 应用程序。在 View 结构中,我将获得 var n = TweetFilterOptions.AllCases.count 的案例数。但我收到一个错误:

Instance member 'count' cannot be used on type 'TweetFilterOptions.AllCases' (aka 'Array<TweetFilterOptions>'); did you mean to use a value of this type instead?

我的代码如下所示:

enum TweetFilterOptions: Int, CaseIterable
    case tweets
    case replies
    case likes
    
    var title:String
        switch self
        case .tweets:
            return "tweets"
        case .replies:
            return "tweets and replies"
        case .likes:
            return "likes"
        
    


struct FilterButtonView: View 
    var n = TweetFilterOptions.AllCases.count // Here I am getting the error.
    var body: some View 
        VStack(alignment:.leading)
            HStack
                ForEach(TweetFilterOptions.allCases, id:\.self) options in
                    Text(options.title)
                
            
            Rectangle()
                .frame(width: 300, height: 3)
                .foregroundColor(.blue)
                .animation(.spring())
        
    

我怎样才能摆脱这个错误并获得枚举中所有案例的数量?

【问题讨论】:

应该是 TweetFilterOptions.allCases.count 是的,它正在工作,谢谢。 【参考方案1】:

使用 .allCases 而不是 .AllCases。像这样

var n = TweetFilterOptions.allCases.count

【讨论】:

以上是关于实例成员 'count' 不能用于类型 'TweetFilterOptions.AllCases'的主要内容,如果未能解决你的问题,请参考以下文章

这里出了啥问题:实例成员不能用于类型 [重复]

实例成员不能用于 struct swift 之间的嵌套类型的实例

静态成员“负载”不能用于“AppDelegate”类型的实例

实例成员不能用于类型视图控制器

在 awakeFromNib() 上 - 错误实例成员 'button' 不能用于类型 'CustomView'

实例成员“可达性”不能用于“CMNetworkManager”类型