【问题标题】:reload json data to UITableView将 json 数据重新加载到 UITableView
【发布时间】:2012-05-02 08:49:13
【问题描述】:

我有点困惑。我有 2 个类,一个应用程序委托和一个视图控制器。在我的应用委托中,我通过这种方法获得了一些数据:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];

NSDictionary *results = [responseString JSONValue];

NSArray *allTweets = [results objectForKey:@"results"];

[viewController setTweets:allTweets];
[window addSubview:viewController.view];
[window makeKeyAndVisible];

}

在我的视图控制器中,我有一个应该重新加载数据的按钮...我尝试了一些方法,例如

Twitter_SearchAppDelegate *appDelegate= (Twitter_SearchAppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate connectionDidFinishLoading];

但没有一个有效...我是否以错误的方式解决这个问题?我只想能够调用首先从应用程序委托加载数据到视图控制器的方法。 任何帮助表示赞赏!

【问题讨论】:

    标签: iphone objective-c ios json uitableview


    【解决方案1】:

    是的,你走错了方向。

    您试图自己调用 NSURLConnection 委托方法(错误)。 如果您想简单地重新加载 JSON 数据,则应调用启动下载请求的 App Delegates 方法以强制重新加载数据!

    【讨论】:

      【解决方案2】:

      首先,如果我没记错的话,connectionDidFinishLoading 是一个委托方法,它在您启动连接过程时触发。 你测试过你的应用输入connectionDidFinishLoading了吗?

      此外,当您将数组/字典评估为 tableview 的源时,您是否再次调用 ["your-table-view-name" reloadData]

      希望这会有所帮助..

      【讨论】:

        猜你喜欢
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-23
        相关资源
        最近更新 更多