2012-09-27 37 views
0

我对iOS开发非常陌生,正在编写具有多个视图的应用程序,每个视图都有一个tableview。读取每个视图的JSON数据

对于每个视图,我需要读取单独的JSON URL,然后显示结果。我一直在检查的所有教程都是读取ViewController.m中的数据,但由于每个视图都有一个单独的URL,我可以推广这些代码并将其写入其他地方吗?

此外,我想把它放在最有效的数据加载位置,即当我点击一个按钮时,我的应用程序没有太多的等待时间。

我使用下面的链接以供参考:http://www.raywenderlich.com/5492/working-with-json-in-ios-5

谢谢!

回答

0

你可以制作单独的解析器,用于解析单独的json url的模型类。然后在每个视图加载中加载解析的数据。

0

我会建议你有一个单独的解析器类iTemplateParser

然后在其他视图控制器,你可以创建iTemplateParser对象。

@property (nonatomic, strong) iTemplateParser *templateData; 

- (void)viewDidLoad { 

    NSData *theData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:templateFileName ofType:@"json"]]; 
    self.templateData = [[iTemplateParser alloc] initWithTemplateData:[NSJSONSerialization JSONObjectWithData:theData options:NSJSONReadingMutableContainers error:nil]]; 
} 

现在iTemplateParser你可以定义许多功能,根据自己的需要。 例如

- (id)initWithTemplateData:(NSDictionary *)iDataDict; 
- (CGRect)frameForTableView; 
- (UIFont *)fontForTableView; 
- (UIColor *)tableBackgroudColor; 

现在这个方法,你可以在你的ViewController来电显示的UI组件。

希望这会帮助你。