【发布时间】:2017-02-10 00:55:14
【问题描述】:
我检查了我的所有连接,并且 NONE 已断开。我已经重新连接了所有这些并检查了所有内容,但我不断收到此错误。它出现在 App Delegate 的第一行,我不知道为什么。这是代码。
class DetailsViewController: UIViewController, SFSafariViewControllerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate{
let imagePicker = UIImagePickerController()
@IBOutlet weak var MITImageView: UIImageView!
@IBOutlet weak var StanfordImageView: UIImageView!
@IBOutlet weak var HarvardImageView: UIImageView!
@IBAction func MITSafariViewControllerButton(_ sender: UIButton) {
let url = NSURL(string: MITUrl)!
let svc = SFSafariViewController(url: url as URL)
present(svc, animated: true, completion: nil)
}
@IBAction func StanfordSafariViewControllerButton(_ sender: UIButton) {
let url = NSURL(string: StanfordUrl)!
let svc = SFSafariViewController(url: url as URL)
present(svc, animated: true, completion: nil)
}
@IBAction func HarvardSafariViewControllerButton(_ sender: UIButton) {
let url = NSURL(string: HarvardUrl)!
let svc = SFSafariViewController(url: url as URL)
present(svc, animated: true, completion: nil)
}
@IBAction func imageChangeButton(_ sender: UIButton) {
imagePickerClass().imagePickerControllerMIT(picker: imagePicker)
}
@IBAction func imageChangeButtonStanford(_ sender: UIButton) {
imagePickerClass().imagePickerControllerStanford(picker: imagePicker)
}
@IBAction func imageChangeButtonHarvard(_ sender: UIButton) {
imagePickerClass().imagePickerControllerHarvard(picker: imagePicker)
}
var MITUrl = "http://web.mit.edu"
var StanfordUrl = "http://stanford.edu"
var HarvardUrl = "http://www.harvard.edu"
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo")]
var pos1 = Int()
var pos2 = Int()
var pos3 = Int()
pos1 = 0
pos2 = 1
pos3 = 2
self.MITImageView.image = logos[pos1]
self.StanfordImageView.image = logos[pos2]
self.HarvardImageView.image = logos[pos3]
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class imagePickerClass : DetailsViewController {
var pos1 = Int()
var pos2 = Int()
var pos3 = Int()
var MITImage = Int()
var StanfordImage = Int()
var HarvardImage = Int()
init (){
pos1 = 0
pos2 = 1
pos3 = 2
MITImage = 3
StanfordImage = 3
HarvardImage = 3
let code = NSCoder()
super.init(coder: code)!
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func imagePickerControllerMIT(picker: UIImagePickerController) {
self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
weak var weakSelf = self
weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: nil)
self.imagePicker.dismiss(animated: true, completion: {
let imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
self.MITImageView.image = logos[self.MITImage]
})
}
func imagePickerControllerStanford(picker: UIImagePickerController) {
imagePicker.dismiss(animated: true, completion: {
self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
weak var weakSelf = self
weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: {
let imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
self.MITImageView.image = logos[self.StanfordImage]
})
})
}
func imagePickerControllerHarvard(picker: UIImagePickerController) {
imagePicker.dismiss(animated: true, completion: {
self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
weak var weakSelf = self
weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: {
let imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
self.MITImageView.image = logos[self.HarvardImage]
})
})
}
}
这是错误
class AppDelegate: UIResponder, UIApplicationDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
如果你能帮我解决这个问题,那就太好了。
【问题讨论】:
-
可以添加错误的日志吗?
-
可能还差得远,但只是仔细检查在
imagePickerClass中引发致命错误的init方法没有被调用?听起来您正在使用情节提要(?),我相信如果图像选择器对象是从情节提要加载的init将被调用。 -
我不知道你说的应用程序委托的第一行是什么意思。哪一行代码崩溃了。并复制并粘贴您收到的确切消息。还将崩溃的堆栈跟踪复制并粘贴到您的问题中。
标签: ios xcode swift3 appdelegate