"Segmentation fault 11"

Ben77650Ben77650 Membre
juin 2016 modifié dans API UIKit #1

Bonjour,

 

J'ai cette erreur sur mon projet.



@IBAction func addAction(sender: AnyObject) {

if let userService = userService {
let obsUserProfile: Observable<UserProfile> = userService.activeUser().flatMap({ user in
if let textInTextField = self.nameTextfield.text {
user.createProfile(textInTextField)
}
})


let obsUser: Observable<Void> = obsUserProfile.flatMap({ userProfile in
userProfile.activate().flatMap({ _ in
userService.recommendationsActivated(self.checkboxButton.selected)
})
})

obsUser.subscribe(
onCompleted: {

if let loginVC = self.presentingViewController as? LoginViewController {
loginVC.closeAddProfile()
}
},
onError: { error in
return UIAlertView.showWaitAlertViewWithMessage(error.descriptionForEndUser())
}
).addDisposableTo(self.disposeBag)
}

}


 

Si je me fie à  xCode ça viens de la ligne 45:15 qui est précisément le @IBAction...

 

Une idée d'où ça peut venir ? Impossible de m'en débarrasser et je dois avoir fini la fonctionnalité pour demain matin.

 

Merci d'avance ;)


Réponses

  • Hello,

    J'ai souvent cette erreur uniquement quand je dev en Swift.


    Ce que je te conseille:


    1. Commente le contenu de ta méthode
    2. Vois si ça compile
    3. Si ça compile, commence à  la ré écrire en faisant attention à  toutes les erreurs qui pourraient survenir.
    4. Si ça compile pas fais pareil avec toutes les méthodes et reviens à  l'étape 3 pour chacune d'entre elles.

    Xcode n'est pas encore tout à  fait stable avec Swift, c'est donc au développeur de faire attention à  ce qu'il fait ^^


  • Ben77650Ben77650 Membre
    juin 2016 modifié #3

    Merci pour ton aide ;)


     


    J'ai trouvé d'où venait le souci


     


    Après mon 1er flatMap je devais préciser le type de "user"


  • Effectivement (pour les prochains qui tomberaient sur ce post):


    C'est souvent du à  un cast manquant.


     


    Comme par exemple:



    var myObject: String = dictionary?["toto"] as! String
  • FKDEVFKDEV Membre
    juin 2016 modifié #5

    En regardant bien le détail de l'erreur dans Xcode, on trouve un dump de la plage de code qui pose problème.


  • Oui, tu peux te baser sur ça pour corriger.

    Mais dernièrement j'ai corrigé toutes les erreurs de ma page à  partir de ça mais au final je n'avait plus rien et toujours l'erreur. Mais c'est une bonne base de départ pour la correction c'est sur.


Connectez-vous ou Inscrivez-vous pour répondre.