[英]I keep getting “signal 1: SIGABRT” in swift 3 and I don't know how to get around it
我检查了所有连接, 没有一个断开。 我已经重新连接了所有人,并检查了所有内容,但我一直收到此错误。 它出现在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 {
如果您能帮助我解决这个问题,那将是很好的。
首先要说的是我正在使用Xcode 7.0和IOS 9.0 。 而且我在objective-c
也遇到了同样的问题。 我发现异常原因只是调试我的代码(基本上是由哪一行负责)。 我将与您分享。 尽管您的问题是swift
相关的,但我只是想为signal 1: SIGABRT
提供帮助。 可能会对您有帮助。
1.首先在任何行上设置代码的debug pointer
。 单击show the break point navigator
图标。
2.单击create a break point
图标。
3.单击Add Exception BreakPoint
。
4.右键单击All Exception
,然后单击Edit BreakPoint
。
5.选择objective-c
作为“例外”的选项。
并运行您的应用程序。 它将带您到获得SIGABRT
的相应行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.