mise a jour demandee ios 12 taille



Parse.com sauvegarde de l'image IOS (1)

J'essaie d'enregistrer une image sur parse.com avec le code suivant:

        NSData *imageData = UIImagePNGRepresentation(profileImage);
        PFFile *imageFile = [PFFile fileWithName:@"Profileimage.png" data:imageData];
        [imageFile saveInBackground];


        PFUser *user = [PFUser currentUser];
        user[@"fullName"] = name;
        user[@"Location"] = location;
        user[@"gender"] = gender;
        user[@"email"] = email;
        user[@"ProfilePic"] = imageFile;
        [user saveInBackground];

Le problème est que cela ne semble pas enregistrer le fichier image à analyser car rien n'est rempli dans mon navigateur de données. Le code ici me va bien, mais est-ce que vous pouvez y voir quelque chose qui ne va pas?

L'image est en cours de téléchargement depuis Facebook avec le code suivant:

NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]];
            NSData *data = [[NSData alloc] initWithContentsOfURL:pictureURL];

            UIImage *profileImage = [[UIImage alloc] initWithData:data];

Des idées?

Merci

https://src-bin.com


Answer #1

Le problème est que [imageFile saveInBackground]; l'opération n'a pas encore été effectuée lorsque vous appelez [user saveInBackground];

Lorsque vous appelez le premier enregistrement d'arrière-plan, le programme continue simplement.

Utilisez plutôt saveInBackgroundWithBlock , puis [user saveInBackground] opération [user saveInBackground] .

NSData *imageData = UIImagePNGRepresentation(profileImage);
PFFile *imageFile = [PFFile fileWithName:@"Profileimage.png" data:imageData];
[imageFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (!error) {
        if (succeeded) {
           PFUser *user = [PFUser currentUser];
            user[@"fullName"] = name;
            user[@"Location"] = location;
            user[@"gender"] = gender;
            user[@"email"] = email;
            user[@"ProfilePic"] = imageFile;
            [user saveInBackground];
        }
    } else {
         // Handle error
    }        
}];




parse.com