2015-02-08 1 views
0

Я работаю над экраном профиля пользователя для одного из моих приложений. Я хотел разрешить пользователю выбирать изображение с его телефона и видеть его изображение профиля на главном экране приложения. Проблема заключается в том, что изображение занимает больше времени, чем обычный текст. Я хотел бы найти способ убедиться, что изображение сохранено для синтаксического анализа, прежде чем segue выведет пользователя на главный экран. Прямо сейчас, как только я нажимаю дальше, segue выводит пользователя на главный экран. На главном экране изображение профиля пользователя не может отображаться, потому что изображение профиля, которое было «сохранено» для разбора, пуст. Когда это произойдет, я получаю исключение стоимости nil.Сохранение изображения в парсе

Примечание: Когда я удаляю Segue - приложение успешно сохраняет информацию пользователя и изображение пользователя.

следующий код после того, как я все свои чеки на имя пользователя, пароль и т.д.

 if photoSelected == false { 
     error = "Please select an image to post" 
     } 

     if error != "" { 
     displayAlert("Cannot Post Image", error: error) 

     } else { 

     var post = PFObject(className: "Images") 
     post["username"] = PFUser.currentUser().username 

    post.saveInBackgroundWithBlock({ (success: Bool, error: NSError!) -> Void in 

     if success == false { 
     self.displayAlert("Could not post Image", error: "Please try again later") 

     } else { 
     let imageData = UIImagePNGRepresentation(self.profileImage.image) 
     let profilePic = PFFile(name: "image.png", data: imageData) 

     post["profileImage"] = profilePic; 

      //I even added an activity indicator to stall the app before proceeding to the main page. 
      activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 200, 200)) 
      activityIndicator.center = self.view.center 
      activityIndicator.hidesWhenStopped = true 
      activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge 
      self.view.addSubview(activityIndicator) 
      activityIndicator.startAnimating() 
      UIApplication.sharedApplication().beginIgnoringInteractionEvents() 


     post.saveInBackgroundWithBlock({ (success: Bool, error: NSError!) -> Void in 


      UIApplication.sharedApplication().endIgnoringInteractionEvents() 

     if success == false { 
     self.displayAlert("Could not post Image", error: "Please try again later") 
     } else { 
     //check  
     println("picture was uploaded") 

     } 
     }) 

     } 
    }) 
    } 


     //saves all the user's values username, password, etc. 
     self.user.save() 

    //takes the user to the MainScreen  
    self.performSegueWithIdentifier("moveToMainScreen", sender: self) 

    } 

Большое вам спасибо за вашу помощь! .

ответ

2

Переместить эти строки:

//takes the user to the MainScreen  
self.performSegueWithIdentifier("moveToMainScreen", sender: self) 

выше, в блок завершения для сохранения изображения (где у вас есть println("picture was uploaded") Теперь

+0

Спасибо - это работало большое приложение не врезаться больше:.) – Ronaldoh1

 Смежные вопросы

  • Нет связанных вопросов^_^