• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在 Swift 中将枚举和 switch() 与 UITableViewController 一起使用

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:20:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的 UITableView 有两个部分,所以我为它们创建了一个枚举:

private enum TableSections {
    HorizontalSection,
    VerticalSection
}

如何使用 numberOfRowsInSection 委托(delegate)方法中传递的“section”变量进行切换?看来我需要将“部分”转换为我的枚举类型?或者有没有更好的方法来做到这一点?

错误是“Enum case "Horizo​​ntalSection"not found in type 'int'.

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    switch section {

    case .HorizontalSection:
        return firstArray.count

    case .VerticalSection:
        return secondArray.count

    default 
        return 0
    }
}



Best Answer-推荐答案


为了做到这一点,你需要给你的枚举一个类型(在这种情况下是 Int):

private enum TableSection: Int {
    horizontalSection,
    verticalSection
}

这使得“horizo​​ntalSection”将被赋值为 0,而“verticalSection”将被赋值为 1。

现在在您的 numberOfRowsInSection 方法中,您需要在枚举属性上使用 .rawValue 以访问它们的整数值:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    switch section {

    case TableSection.horizontalSection.rawValue:
        return firstArray.count

    case TableSection.verticalSection.rawValue:
        return secondArray.count

    default:
        return 0
    }
}

关于ios - 如何在 Swift 中将枚举和 switch() 与 UITableViewController 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214988/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap