何かアドバイスをいただければと思いました。画像を含むクイズアプリを作っています。クイズには、単一の画像ビューを備えた 4 つの回答ボックスがあります。を介して画像をクイズにダウンロードできますが、画像parse.com
をクリックして別のビューコントローラーに移動し、画像をフルスクリーンでズームできるようにしたいと考えています。を呼び出してセグエすることができましたが、2番目のView Controllerでpffile
試してみるとアプリがクラッシュします。getdatainbackgroundwithblock
どのようにイメージをセグエするべきだと思いますか?
編集
うん、ごめん。したがって、私が得ていたクラッシュは、getdatainbackgroundwithblock の +55 行目で発生した code=1 address=0x48 のエラーでした。
以下に使用していたコードの抜粋を貼り付けました。
これを使用して、最初のビューで画像を呼び出し、PFImageView で画像にしました。
`for object : PFObject in objectsArray as! [PFObject] { let image = object["Image"] as! PFFile let transimage = 画像
image.getDataInBackgroundWithBlock {
(imageData:NSData?, error:NSError?) -> Void in
if error == nil {
let finalimage = UIImage(data: imageData!)
// self.imageView.append(finalimage!)
self.imageView.image = final image`
次に、このように2番目のView Controllerに渡しました。
`override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if(segue.identifier == "ZoomImage"){
// Get the new view controller using [segue destinationViewController].
var detailScene = segue.destinationViewController as! ZoomImageViewController
detailScene.currentObject = transimage as! PFFile
NSLog("checkone")
}
}`
私の2番目のView Controllerでは、このような画像に戻そうとしました。
` if let object = currentObject { NSLog("(currentObject)")
var initialThumbnail = UIImage(named: "question")
NSLog("check1")
imageView.image = initialThumbnail
NSLog("check2")
NSLog("check3")
object.getDataInBackgroundWithBlock {
(imageData:NSData?, error:NSError?) -> Void in
if error == nil {
NSLog("check4")
let finalimage = UIImage(data: imageData!)
// self.imageView.append(finalimage!)
self.imageView.image = finalimage
NSLog("check5")`
NSLog が 3 になると、コードが壊れてしまいます。currentObject の NSLog も PFFile を返したので、私はそれが正しいと信じていました。どこが間違っていますか?そして、それを渡すためのより良い方法はありますか?