2012-09-27 78 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組件。

希望這會幫助你。