我有一个数组值列表。并且每个对象都有一个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" }
答案 0 :(得分:1)
我相信您需要该功能不显示= public的数据
以enum开头,
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()
答案 1 :(得分:0)
假设您有用于表数据源的此数组
var arr = [Item]()
然后做
arr = arr.filter { $0.type != "Public" }
其中
struct Item {
let booking_id,category_id:Int
let category_name,type:String
}
对于字典
var arr = [[String:Any]]()
arr = arr.filter { $0["type"] != "Public" }