gpt4 book ai didi

ios - 在我的服务完成之前通知 connectionDidFinishLoading

转载 作者:行者123 更新时间:2023-11-29 13:33:50 25 4
gpt4 key购买 nike

我从服务返回的数据多次呈现到我的 UITableView。我移动了将填充我的表的代码放在 connectionDidFinishLoading 委托(delegate)中。这是该代码的正确位置吗?

我有一个 NSMutableData* receivedData;在我的 .m 文件的顶部,我已经实现了正确的委托(delegate)并覆盖了正确的方法。

我只想知道我在这里遗漏了什么,或者我可以做些什么才能在表格 View 中只看到一次来 self 的 JSON 的数据。

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {    
[receivedData setLength:0];
NSLog(@"%@",response);}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
NSLog(@"Succeeded! Received %d bytes of data",[data length]);
receivedData = [[NSMutableData alloc] init];
[receivedData appendData:data];}

-(void) connectionDidFinishLoading:(NSURLConnection *)connection {
NSError *error = nil;
// Get the JSON data from the website
id result = [NSJSONSerialization JSONObjectWithData:receivedData options:kNilOptions error:&error];

if ([result isKindOfClass:[NSArray class]]) {

for (NSArray *item in result) {
NSArray *category = [item valueForKey:@"CategoryName"];
[dataArray addObject:category];
}
}
else {
NSDictionary *jsonDictionary = (NSDictionary *)result;

for(NSDictionary *item in jsonDictionary)
NSLog(@"Item: %@", item);
}

[self.tableView reloadData];

NSLog(@"Finished");}

最佳答案

我相信你有一行有错误

receivedData = [[NSMutableData alloc] init];

每次您收到数据时,您都会再次初始化您的对象。

我推荐这个页面 http://nsscreencast.com/episodes/6-afnetworking对于您的 JSON 部分。

关于ios - 在我的服务完成之前通知 connectionDidFinishLoading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com