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

ios - 如何将数据附加到 Collection View

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

下面有我的代码,它将来自 api 的数据显示到 Collection View 中。我想知道的是如何附加状态等于我们说的“已完成”的数据我只想在collectionview上显示状态等于“已完成”的名称谢谢。或者例如 status = "created"。

示例 api 原始数据:

         {
            "id": 72,
            "name": "fsd",
            "desc": "fdsfsdf",
            "reward": "1.00",
            "sched": "2018-04-07T18:46:35.643713+08:00",
            "parent": "sfsd",
            "child": "fsdfdsf",
            "occurrence": {
                "name": "once"
            },
            "status": {
                "name": "created"
            },
            "date_created": "2018-04-09T21:15:16.263911+08:00",
            "date_modified": "2018-04-09T21:15:16.291715+08:00"
        }

从 api 获取的代码

func demoApi() {
        Alamofire.request("http://test.test:test/api/v1/chores/", method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { (responseataResponse<Any>) in

            switch(response.result) {


            case .success(_):
                guard let json = response.result.value as! [[String:Any]]? else{ return}
                print("Response \(json)")
                for item in json {

                    self.getAllDetail.append(item

                }
                if !self.getAllDetail.isEmpty{
                    DispatchQueue.main.async {
                        self.collectionView.reloadData()
                    }
                }
                break

            case .failure(_):
                print("Error")
                break

            }
        }

    }

Collection View 的代码 -

var getAllDetail: [[String:Any]] = [[String:Any]]()

     func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
            return getAllDetail.count
        }


        func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

           let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionCell
            if let getTempDetails: [String : Any] = getAllDetail[indexPath.row] {
            cell.nameLabel.text = getTempDetails["name"] as? String  ?? "" //titleArray[indexPath.row]
              }
            return cell
        }



        func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

            // handle tap events
            print("You selected cell #\(indexPath.item)!")
            if let getTempDetails: [String : Any] = getAllDetail[indexPath.row] {
               print("You selected ID #\( getTempDetails["userId"] as? String  ?? "" )!")
        }

        }



Best Answer-推荐答案


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

       let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionCell
        if let getTempDetails: [String : Any] = getAllDetail[indexPath.row] {
            if let str = getTempDetails["status"] as? [String, String] {
                  if let name == str["name"] as? String{
                       if name == "created"{

                       cell.nameLabel.text = getTempDetails["name"] as! String

                   }else {
                       cell.nameLabel.text = @"Uncreated"

                    }
                }
             }
          }
        return cell
    }

关于ios - 如何将数据附加到 Collection View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49735620/

回复

使用道具 举报

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

本版积分规则

关注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