Quand j'ai essayé de prendre un instantané d'un certain UICollectionViewCell dans un UICollectionview qui est une sous-vue de vue et de le partager sur Facebook de mon app..while Xcode jetteerreur de capture instantanée iOS UICollectionviewcell rapide
fatal error: unexpectedly found nil while unwrapping an Optional value
please click here for screenshot of that error
Voici ma fonction
func screenshotBSCell() {
//Create the UIImage
UIGraphicsBeginImageContext(CGSizeMake(bsCell.bounds.size.width, bsCell.bounds.size.height))
***self.bsCell.layer.renderInContext(UIGraphicsGetCurrentContext()!)***
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
//Save it to the camera roll
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
//share the image to Social Media
let composeSheet = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
composeSheet.setInitialText("Hello, Facebook!")
composeSheet.addImage(image)
presentViewController(composeSheet, animated: true, completion: nil)
}
Déboguer et vérifier l'instance self.bsCell, est-ce nul? – Surjeet
application s'écraser sur la ligne self.bsCell.layer.renderInContext ((UIGraphicsGetCurrentContext())!) –
Où appelez-vous 'screenshotBSCell'? Le problème est que 'UIGraphicsGetCurrentContext()' renvoie un résultat nul, que vous essayez alors de forcer (ne faites pas cela :)) ce qui provoque un plantage. Donc ... il semble que votre appel à 'UIGraphicsBeginImageContext' ne fonctionne pas comme prévu. Comme @Surjeet le suggère ... vérifiez que votre 'bsCell' n'est pas nul, et vérifiez également la taille de' bsCell' pour vous assurer qu'il est valide. – pbodsk