调用函数将Json从视图控制器解析到其他视图

时间:2018-05-29 15:46:40

标签: json swift function

我想从其他视图控制器中的Controller视图调用一个函数。这个函数将解析json并将数据放入一个结构中全局的Array中,问题是如果我将该函数放入ViewDidAppear中,它会向Web服务发出大量请求,如果我将该函数放入ViewDidLoad中它不会下载数据,这是我要调用的函数

traefik    | time="2018-05-29T15:35:32Z" level=error msg="Unable to obtain ACME certificate for domains \"monitor.example.com\" detected thanks to rule \"Host:monitor.example.com\" : cannot obtain certificates: acme: Error -> One or more domains had a problem:\n[monitor.example.com] Error presenting token: HTTP 403: forbidden: You do not have access for the attempted action.\n"

调用此函数是self.pazienti {} 但我尝试使用全局函数创建一个扩展类,这会产生阻止服务器的一些请求。

2 个答案:

答案 0 :(得分:0)

你应该创建一个单例类并将你的方法放在该单例类中。然后你可以将该方法称为

Return

答案 1 :(得分:0)

您没有向我们展示导致问题的代码。如果你选择viewDidAppear,你可能需要引入一些状态才能知道请求是否已经在进行中(并且如果是,则不安排另一个dataTask)。另一方面,viewDidLoad应该按照您的要求执行,只需调用一次。

然而,除非有真的没有其他解决方案,否则很可能不仅仅是一个坏的,而是真的错误的想法,将您的completionHandler存储在某种全局变量中它。据我所知,func pazienti的设计似乎位于“错误”的对象中。但是你提供的代码很少来真正判断这一点。请至少在问题中添加您的回调代码,以便我可以修改我的答案。