ölümcül hataya neden olur this card flipping tutorial takip ediyorum ve UIView
ve UIImageViews
programlı olarak oluşturmak yerine bunları storyboard'umda oluşturdum.
Ben kartı, animasyon tekmeler tıklayarak ön görüntüye çeviriyor, ama tekrar tıkladığınızda bu bir fatal error
oluşturduğunda: İsteğe Bağlı değerini unwrapping ederken flip kart hızlı bir şekilde
beklenmedik nil bulundu.
Bu hatanın neden oluştuğunu anlayamıyorum. İşte
yukarıda belirtilen yazının dönüşümdür kod şudur: Ne geçiş yaparken, eski resmin başvuru indirildiği sayısıdır inanıyoruzclass FirstViewController: UIViewController {
@IBOutlet weak var flashCardView: UIView!
@IBOutlet weak var backImage: UIImageView!
@IBOutlet weak var frontImage: UIImageView!
var showingBack = true
override func viewDidLoad() {
super.viewDidLoad()
let singleTap = UITapGestureRecognizer(target: self, action: Selector("tapped"))
singleTap.numberOfTapsRequired = 1
flashCardView.addGestureRecognizer(singleTap)
flashCardView.addSubview(backImage)
view.addSubview(flashCardView)
}
func tapped() {
if (showingBack) {
UIView.transitionFromView(backImage, toView: frontImage, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromRight, completion: nil)
showingBack = false
} else {
UIView.transitionFromView(frontImage, toView: backImage, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)
//here I get the error when flipping the card back to the back image
showingBack = true
}
}
}
Bunu, nil içeren bir İsteğe Bağlı Ekleme'yi kaldırırken alırsınız. Onları "!" Ile açmaya zorlandığınız 3 IBOutletiniz var. Bunlar muhtemelen IB'de uygun şekilde bağlanmamıştır. "Opsiyonel bir değeri kaldırırken beklenmedik bir şekilde sıfır bulundu", SO'daki en yaygın Swift sorusudur, bu yüzden bazı aramalar sizi doğru yolda oldukça hızlı bir şekilde ayarlayacaktır. – Michael
film şeridi belge anahatlarını paylaşır, sorunu anlamak faydalı olacaktır. –
Bu, benim storyboard'umun neye benzediğidir: Bir UIView'i 150x200 ekrana sürükledim, daha sonra aynı boyutlarda iki UIImageViews, hepsi yatay ve dikey olarak ortalanmış. Yani, sadece bir kare görünür. – kangarooChris