当前位置: 首页 > 知识库问答 >
问题:

Swift scrollview通过api调用添加数据

东门焕
2023-03-14

我想用通过DataTask检索的数据填充scrollview。我用api调用的结果填充一个可编码结构。我想把键和它的值添加到应用程序中的scrollview中。

scrollview通过以下方式访问

    @IBOutlet weak var scrollview: UIScrollView!

这是我的api调用。

let urlString : String = "https://opendata.rdw.nl/resource/m9d7-ebf2.json?kenteken=" + kenteken.replacingOccurrences(of: "-", with: "").uppercased()
    
    print(urlString)

    let url = URL(string: urlString)!
    let task = URLSession.shared.dataTask(with: url) {(data, response, error) in
        guard let data = data else { return }
        print(data.count)
        
        let decoder = JSONDecoder()
        let dataObject = try! decoder.decode([kentekenDataObject].self, from: data)
        
        DispatchQueue.main.async {
            self.fillScrollView(object: dataObject.first!);
        }
        
    }

    task.resume()

这是我用来填充ScrollView的方法。

func fillScrollView(object: kentekenDataObject) {
    let mir = Mirror(reflecting: object)

    for child in mir.children {
        let textView : UITextView = {
            let v = UITextView()
            return v
        }()
        
        let label : UILabel = {
            let v = UILabel()
            v.text = child.label
            return v
        }()
        
        let value : UILabel = {
            let v = UILabel()
            v.text = child.value as? String
            return v
        }()
        
        textView.addSubview(label)
        textView.addSubview(value)
        
        scrollview.addSubview(textView)
    }
}

现在的问题是scrollview没有显示生成的TextViews。kentekenDataObject被填充,我通过将其打印到控制台进行检查。

有人能帮我吗?

共有1个答案

景正文
2023-03-14

您没有在scrollView中为标签/文本视图设置框架/约束,顺便说一句,您可以考虑使用tableView而不是scrollView,这样会更容易

 类似资料:
  • 我正在尝试使用最新的REST API发布JIRA的附件。这是我的代码: 然而,我得到了以下回应: 我的本地JIRA实例中确实存在密钥TEST-2问题,我可以在JIRA应用程序中“手动”添加附件。我知道我必须添加一个类型为“X-Atlassian-Token:nocheck”的头来防止XSRF,但是,从输出来看,我一定是做错了什么。。更让我困惑的是,在XSRF检查失败后抛出了404。 我在谷歌上搜索

  • 问题内容: 我正在尝试通过ajax和php调用一些数据库数据。但是ajax调用不起作用,我无法在网络上找到解决方案。 所以这是我的代码: test.php 如果我在浏览器中键入该网址: 通过jsonEncode返回的数据是正确的,但是当我使用jquery将其加载到html页面时,他无法读取数据。 test.html 提前致谢。 问题答案: 您的 变量 没有价值。您想使用 字符串 。也许您也希望能够

  • 问题内容: 我正在尝试使用最新的REST API发布JIRA附件。这是我的代码: 但是,我得到以下回应: 我的本地JIRA实例中确实存在密钥TEST-2的问题,我可以在Jira应用程序本身中“手动”添加附件。我知道我必须添加类型为“ X-Atlassian- Token:nocheck”的标头以防止XSRF,但是从输出来看,我必须做错了什么。令我更加困惑的是,在XSRF检查失败。 我已经在Goog

  • 问题内容: 我正在处理Freecodecamp Twitch API项目,但无法获取显示正确的API数据。徽标,频道和状态返回为未定义。 我知道API肯定可以正常工作。我编写代码的方式一定有问题,但无法弄清楚是什么。 这是我的代码: 这是我的代码笔的链接:http ://codepen.io/drhectapus/pen/VPNQJa?editors=1011 任何帮助将不胜感激。 问题答案: 由

  • 我的目标是向listView添加数据,在推送通知显示对话框后,若用户按Yes,应用程序将显示带有片段的活动,然后再次显示new dialog以添加新项目。但如果我按add,我会得到: 将新项目添加到listview的对话框位于MainActivity中,但我需要在片段中刷新我的listview,我正在使用ViewPager。 似乎我的片段还没有初始化,但现在显示的是对话框。如何实现这个解决方案?还

  • 我是个新手,学习面向对象的Java。我有一个关于通过调用方法为多个数组添加元素的问题。我只是试图避免多次创建循环,对于多个数组,我想创建一个方法,它将包含必要的循环来添加元素(甚至将它们显示为输出),这样我就可以在需要的时候调用它。希望你明白我想说的话。请原谅我的英语不好。