当我尝试使用UIImageView为图像设置动画并使用轻击手势在图像视图上轻按时,出现此错误消息。
(由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* -[__ NSArrayM insertObject:atIndex:]:对象不能为空')**
以下是我的代码:
import UIKit
class ViewController: UIViewController {
private var arrayOfImages = [UIImage()]
let imageView : UIImageView = {
let iv = UIImageView()
iv.isUserInteractionEnabled = true
iv.contentMode = UIView.ContentMode.scaleAspectFill
iv.clipsToBounds = true
iv.translatesAutoresizingMaskIntoConstraints = false
iv.image = UIImage(named: "image0")!
return iv
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
setupImageView()
// fill the images in the array
for i in 0 ..< 29 {
if let img = UIImage(named: "image\(i)") {
arrayOfImages.append(img)
}
}
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleAnimateIV)))
}
private func setupImageView() {
self.view.addSubview(imageView)
imageView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
imageView.widthAnchor.constraint(equalToConstant: 100).isActive = true
imageView.heightAnchor.constraint(equalToConstant: 100).isActive = true
}
@objc func handleAnimateIV(){
imageView.animationImages = arrayOfImages
imageView.animationDuration = 0.6
imageView.animationRepeatCount = 1
imageView.startAnimating()
}
}