0

何かアドバイスをいただければと思いました。画像を含むクイズアプリを作っています。クイズには、単一の画像ビューを備えた 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 を返したので、私はそれが正しいと信じていました。どこが間違っていますか?そして、それを渡すためのより良い方法はありますか?

4

2 に答える 2

1

あなたの言うとおり、getdata は必要ありませんでした。私はそれを取り除き、pffile をセグする代わりに、画像とテキストを運ぶ pfobject をセグしました。次に、オブジェクトをファイルとして呼び出し、uiimageview に配置しました。誰かがそれを望んでいる場合に備えて、私が使用したコードを少し投稿します。

于 2015-06-23T19:18:26.640 に答える
0

両方のビュー コントローラーで getDataInBackgroundWithBlock を呼び出すのはなぜですか? PFFile インスタンスのデータは既に取得しているため、2 回呼び出す必要はありません。それが問題かもしれません。

于 2015-06-23T18:12:21.090 に答える