Ios 处理JSON调用并使用它的最佳方法';在所有视图中都显示信息

Ios 处理JSON调用并使用它的最佳方法';在所有视图中都显示信息,ios,objective-c,json,Ios,Objective C,Json,我有一个API提供JSON,其中包含所有需要输入到我的应用程序中的信息,它将提供应用程序中所有视图所需的文本和所有新闻 这些信息和JSON永远不会足够大,以至于我需要多次调用甚至分页,但是这些信息可能会在将来更改,因为它是一个事件的应用程序,一些最小的内容将添加到信息中,如赞助商徽标,以及类似的内容 我在想,处理这个问题的最好方法是什么?对appdelegate或其他东西进行API调用,将其保存为本地,并每天进行一次API调用以“更新”此本地文件 另外,从技术上讲,如何处理所有视图的信息 每次加

我有一个API提供JSON,其中包含所有需要输入到我的应用程序中的信息,它将提供应用程序中所有视图所需的文本和所有新闻

这些信息和JSON永远不会足够大,以至于我需要多次调用甚至分页,但是这些信息可能会在将来更改,因为它是一个事件的应用程序,一些最小的内容将添加到信息中,如赞助商徽标,以及类似的内容

我在想,处理这个问题的最好方法是什么?对appdelegate或其他东西进行API调用,将其保存为本地,并每天进行一次API调用以“更新”此本地文件

另外,从技术上讲,如何处理所有视图的信息


每次加载视图时都要继续读取此本地文件?

实现一个将数据保存在适当数据结构中的单例类。您需要在根视图控制器中下载JSON,并向用户显示活动指示器。在每个视图控制器中,您都可以访问singleton类对象,请求与您的控制器相关的数据。

实现一个singleton类,将您的数据保存在适当的数据结构中。您需要在根视图控制器中下载JSON,并向用户显示活动指示器。在每个视图控制器中,您都可以访问singleton类对象,请求与您的控制器相关的数据。

实现一个singleton类,将您的数据保存在适当的数据结构中。您需要在根视图控制器中下载JSON,并向用户显示活动指示器。在每个视图控制器中,您都可以访问singleton类对象,请求与您的控制器相关的数据。

实现一个singleton类,将您的数据保存在适当的数据结构中。您需要在根视图控制器中下载JSON,并向用户显示活动指示器。在每个视图控制器中,您都可以访问singleton类对象,请求与您的控制器相关的数据。

我不会将其放在应用程序委托中——应用程序委托应该保持较小,并且只处理特定于应用程序的问题和要做的事情

通常,您希望保持关注点的分离(dijkstra;))

我会有一个singleton
MyDataManager
,它公开
数据并完成:
,在该方法中,决定是返回缓存的数据(保存在本地)还是发出HTTP请求来更新它)

我不会将其放在应用程序委托中——应用程序委托应该保持较小,并且只处理特定于应用程序的问题和需要执行的操作

通常,您希望保持关注点的分离(dijkstra;))

我会有一个singleton
MyDataManager
,它公开
数据并完成:
,在该方法中,决定是返回缓存的数据(保存在本地)还是发出HTTP请求来更新它)

我不会将其放在应用程序委托中——应用程序委托应该保持较小,并且只处理特定于应用程序的问题和需要执行的操作

通常,您希望保持关注点的分离(dijkstra;))

我会有一个singleton
MyDataManager
,它公开
数据并完成:
,在该方法中,决定是返回缓存的数据(保存在本地)还是发出HTTP请求来更新它)

我不会将其放在应用程序委托中——应用程序委托应该保持较小,并且只处理特定于应用程序的问题和需要执行的操作

通常,您希望保持关注点的分离(dijkstra;))

我会有一个singleton
MyDataManager
,它公开
dataWithCompletion:
,在这个方法中,决定是返回缓存数据(保存在本地)还是发出HTTP请求来更新它)

对于初学者来说,您可以创建一个共享实例(singleton),用AFNetworking或任何您喜欢的方法来处理API调用

如果响应很小,例如5000个字符只有5kb,那么每天只做一次并不是一个好主意。您可以下载并保存一次图像。因此,我更愿意在每次应用程序在
didfishlaunchingwithoptions
中启动时调用您的API

要处理来自响应的视图,需要确保JSON响应结构(键)始终相同


示例:
self.eventTitle=[response objectForKey:@“event title]”如果“事件标题”永远不应更改,则您的应用程序将崩溃或给出(空)值。

对于初学者,您可以创建一个共享实例(单例)来使用AFNetworking或任何您喜欢的方式处理API调用

如果响应很小,例如5000个字符只有5kb,那么每天只做一次并不是一个好主意。您可以下载并保存一次图像。因此,我更愿意在每次应用程序在
didfishlaunchingwithoptions
中启动时调用您的API

要处理来自响应的视图,需要确保JSON响应结构(键)始终相同


示例:
self.eventTitle=[response objectForKey:@“event title]”如果“事件标题”永远不应更改,则您的应用程序将崩溃或给出(空)值。

对于初学者,您可以创建一个共享实例(单例)来使用AFNetworking或任何您喜欢的方式处理API调用

如果响应很小,例如5000个字符只有5kb,那么每天只做一次并不是一个好主意。您可以下载并保存一次图像。因此,我更愿意在每次应用程序在
didfishlaunchingwithoptions
中启动时调用您的API

要处理来自响应的视图,需要确保JSON响应结构(键)始终相同


示例:
self.eventTitle=[response objectForKey:@“event title]”如果“事件标题”不应更改,则您的应用程序将崩溃或提供(空)值。

对于初学者,您可以创建一个共享实例(单例)来处理AFNetwor的API调用