本当に単純なので、これは私を真剣に狂わせ始めています。電話ライブラリから画像を取得するコレクションビューセルがあります
セルをタップすると、取得したコレクションのインデックスを取得し (Photo Framework を使用)、選択した画像を (PHImageManage の imageFromAsset を介して) 新しいビュー コントローラーに送信し、この画像を新しい UIimage プロパティに割り当ててから、表示しようとします。私のUIimageViewアウトレットFAILでそれを!デバッグ ウィンドウで、画像が collectionviewcontroller から FullImageViewController に渡されていることがわかりますが、アウトレットでエラーが発生する理由がわかりません (永遠に NIL を返します)。
ここに少しのコードとバグ キャプチャがあります -- collectioncontroller が最初に
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: PhotoCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier(identifier, forIndexPath: indexPath) as! PhotoCollectionViewCell
// cell.contentView.backgroundColor = UIColor.redColor()
let asset: PHAsset = photosAsset[indexPath.item] as! PHAsset
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: cellSize, contentMode: .AspectFit, options: nil) { (reuslt:UIImage?, info:[NSObject : AnyObject]?) -> Void in
if let image = reuslt {
cell.displaythunmb(image)
}
}
return cell
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let asset=photosAsset[indexPath.item] as! PHAsset
let size:CGSize = CGSizeMake(200, 200)
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: size, contentMode: .AspectFit, options: nil) { (result:UIImage?, info:[NSObject : AnyObject]?) -> Void in
let controller:FullImageViewController = FullImageViewController()
if let image = result {
controller.dislpayFullImage(image)
}
}
performSegueWithIdentifier("gofull", sender: self)
}
ここに fullImageViewController があります
class FullImageViewController: UIViewController {
var image:UIImage = UIImage()
@IBOutlet weak var fullimage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.hidesBarsOnTap = true
}
override func viewWillAppear(animated: Bool) {
//dislpayFullImage()
}
func dislpayFullImage(fullimg:UIImage){
if let monimage:UIImage? = fullimg {
image=monimage!
fullimage.image = image
}
}
}
これにより、「fullimage.image = image」行に「致命的なエラー: オプションの値のラップ解除中に予期せず nil が見つかりました」が表示されます
アンラップ、強制アンラップなどを試みましたが、何も機能していないようです
債務ウィンドウで、プロパティをフォローするときは、次のことを行う必要があります。
fullimg UIImage 0x00007ff3fb6506f0 0x00007ff3fb6506f0 自己テスト.FullImageViewController 0x00007ff3fb6526e0 0x00007ff3fb6526e0
UIKit.UIViewController
フルイメージ UIImageView! なし なし
モノイメージ UIImage? 0x00007ff3fb6506f0 0x00007ff3fb6506f0
私がどこを台無しにしているかについての考え>