首页 > 解决方案 > 将特定类型的数据显示到表格视图

问题描述

我有一个数组值列表。并且每个对象都有一个type键值。所以在我的表格视图中,我不应该显示特定类型的对象。以及我需要显示的所有其他对象。我怎样才能做到这一点?。

这是我的价值观:

(

        {
        "booking_id" = 1137;
        "category_id" = 6;
        "category_name" = Public;
        type = Public;

    },


        {
        "booking_id" = 1179;
        "category_id" = 1;
        "category_name" = bay range;   
        type = Offerers;

    },
        {
        "booking_id" = 1178;
        "category_id" = 1;
        "category_name" = newYork range;
        type = Offerers;

    },
        {
        "booking_id" = 1137;
        "category_id" = 6;
        "category_name" = Public range;
        type = Public;

    }
)

如上。在我的表格视图中,来自上述值。我不应该显示type == "public“。所以我需要在表格视图中显示所有其他值。我该怎么做。

我尝试检查类型==“public”。但不知道我该如何从那里开始。

任何解决方案都会有所帮助。

谢谢。

更新: 我也尝试过下面的代码。但它不起作用。

 var detailsarr = NSMutableArray()

var dic = self.detailsarr.object(at: indexPath.section) as! NSArray;

我正在这样做:

dic = dic.filter { $0["type"] != "Public" }

标签: iosswiftuitableview

解决方案


我相信您需要该功能不显示 type = public 的数据

以枚举开头,

enum TypeData { case public case offerers }

定义你的模型

struct ModelData : Codable {
 var booking_id, category_id : Int
 var category_name : String
 var type : TypeDta
}

然后在 tableviewcontroller

var rootData : [ModelData] { didSet {tableViewDataSource = rootData.filter{$0.type != .public}} }

这将是 numberOfRows 和 cellForRowAt 的数据源

var tableViewDataSource : [ModelData] = []()

然后打电话tableView.reloadData()


推荐阅读