Показать данные определенного типа в табличном представлении - PullRequest
0 голосов
/ 18 марта 2019

У меня есть список значений массива. И каждый объект имеет 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" }

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Я считаю, что вам нужна функция, чтобы не отображать данные типа = 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()

0 голосов
/ 18 марта 2019

Предположим, у вас есть этот массив для источника данных таблицы

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" }  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...