我有 UITableView 我在其中显示用户列表。现在为了检查目的,我正在显示用户 ID。下面是我正在使用的代码。
-(UITableViewCell *) tableView:(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// new is JSON data of list of users...
news = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"];
if (cell==nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MainCell"];
}
// here in cell I have code to assign data...
UILabel *myTextLabel = (UILabel*)[cell viewWithTag:9999999999];
NSLog("id is ===%@===", [[news objectAtIndex:indexPath.row] objectForKey:@"id"]);
myTextLabel.text = [[news objectAtIndex:indexPath.row] objectForKey:@"id"];
return cell;
}
当我在 iPhone 4s 中运行它时,我得到低于输出。
id is ===4===
id is ===3===
id is ===2===
id is ===1===
现在手动从数据库中删除 id 2 并刷新列表。
我得到输出
id is ===4===
id is ===3===
id is ===1===
现在我在 iPhone 5(所有 4 个 id)中运行它并获得以下数据....
id is ===4===
id is ===3===
id is ===2===
id is ===1===
现在我手动删除 2 并重新加载列表。
id is ===4===
id is ===3===
id is ===2===
id is ===1===
我仍然得到上面的。我仍然在列表中获得 2...
为什么我在这里得到两个不同的输出?
特别是 iPhone 5 正在提供旧的输出。
在 iPhone 4 和 iPhone 5 中,我有 iOS 6。
我正在使用 stoaryborads,并且我对两部手机都使用相同的 stoaryboard。
我正在更新数据的代码...
// everytime I am updating list...
-(void) viewWillAppear:(BOOL)animated {
[self getMyData];
}
-(void) getMyData {
NSLog(@"getMyData...");
mainTableView.hidden = YES;
self.indicator.hidden = NO;
[self.indicator startAnimating];
NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/xxxx/getBuildingInfoSama.php"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
self.indicator.hidden = NO;
[self.indicator startAnimating];
news = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil];
[mainTableView reloadData];
self.indicator.hidden = YES;
[self.indicator stopAnimating];
mainTableView.hidden = NO;
}
- (int) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger)section {
int totalNum = news.count;
NSLog(@"rows to return %d", totalNum);
return totalNum;
}
NSLog 说……
2013-07-09 18:50:39.127 SAMA[38573:19d03] getMyData...
2013-07-09 18:50:39.131 SAMA[38573:19d03] rows to return 0
2013-07-09 18:50:39.530 SAMA[38573:19d03] didReceiveResponse
2013-07-09 18:50:39.530 SAMA[38573:19d03] didReceiveData
2013-07-09 18:50:39.531 SAMA[38573:19d03] connectionDidFinishLoading
2013-07-09 18:50:39.532 SAMA[38573:19d03] rows to return 4
主要更新
当我在我的一个朋友 iPhone 5 上运行相同的代码时,它运行良好。没有上述问题。
所以这意味着,我的应用程序也应该在 iPhone 5 上运行。
但问题仍然存在,为什么这在我的客户端 iPhone 5 中不起作用?
任何想法?