J'utilise des services Web pour le développement d'applications iPhone. J'ai utilisé NSDictionary pour récupérer des données en utilisant JSONParsing. Ca vient vite des services web mais c'est trop lent en se liant à ma vue/XIB.Je ne comprends pas quel est le vrai problème avec ça.Parce que ça marche vite sur android mais pas sur iPhone.Est-ce leur toute autre solution ou exemple à résoudre ce problème.La liaison de données à afficher est trop lente lors de l'utilisation du service Web
Code -
- (void)viewDidLoad
{
//returning cell with name & logo
NSLog(@"activity array = %@",activityArray);
addNameList = [[NSMutableArray alloc]init];
addThumbnails = [[NSMutableArray alloc]init];
addActivityId = [[NSMutableArray alloc]init];
for (int x=0; x<[activityArray count]; x++)
{
NSDictionary* toDist = [activityArray objectAtIndex:x];
[addNameList addObject:[toDist objectForKey:@"activity"]];
[addThumbnails addObject:[toDist objectForKey:@"icon"]];
[addActivityId addObject:[toDist objectForKey:@"id"]];
}
activityList = addNameList;
thumbnails = addThumbnails;
activityIdList = addActivityId;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
NSString *str = [NSString stringWithFormat:@"%@",[thumbnails objectAtIndex:indexPath.row]];
cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:str]]];
cell.textLabel.text = [activityList objectAtIndex:indexPath.row];
UIImageView *backImage = [[UIImageView alloc] initWithFrame:CGRectMake(20,20,277,58)];
backImage.backgroundColor = [UIColor clearColor];
backImage.opaque = NO;
backImage.image = [UIImage imageNamed:@"cellBackgroundImage.png"];
cell.backgroundView = backImage;
return cell;
}
Votre question est connecté à distance à ne pas Xcode. Il se trouve que c'est l'idée que vous utilisez. –
S'il vous plaît montrer du code, en particulier lorsque vous liez les données à la vue. Et mettez quelques détails sur la façon dont vous avez découvert que la requête est lente mais que la liaison de données ne l'est pas. –
Assurez-vous que vous mettez à jour votre interface utilisateur sur le thread principal. Il est possible que votre téléchargement se fasse sur un thread de fond avec lequel vous mettez à jour votre vue (ce que vous ne devriez pas faire). Il semblerait que votre interface utilisateur se mette à jour lentement à cause de cela. Comme le dit @HermannKlecker, publiez du code. – sbarow