我的新ViewController给出了SIGABRT错误?

时间:2016-10-17 00:06:53

标签: ios swift3 sigabrt

我有许多不同的按钮,如UIStepper和DatePicker以及MapView。任何人都可以帮助我让我的整个视图控制器和按钮工作。我收到了有关SIGABRT的错误。它说"由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' - [Field_Service_Report.AddController hoursStepper:]:无法识别的选择器发送到实例0x7fb5d7c8d010'& #34;

这是我的View Controller代码:

import UIKit
import MapKit
import CoreLocation

class AddController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

@IBOutlet weak var hoursStepperResult: UILabel!

@IBOutlet weak var hoursStepper: UIStepper!

@IBOutlet weak var minutesStepperResult: UILabel!

@IBOutlet weak var minutesStepper: UIStepper!

@IBOutlet weak var currentLocationLabel: UILabel!

@IBOutlet weak var dateOfReport: UIDatePicker!

@IBOutlet weak var mapView: MKMapView!

let locationManager = CLLocationManager()

override func viewDidLoad() {
    super.viewDidLoad()

    // Start Map Contents
    self.locationManager.delegate = self
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
    self.locationManager.requestWhenInUseAuthorization()
    self.locationManager.startUpdatingLocation()
    self.mapView.showsUserLocation = true
    // End Map Contents

}

// Start Stepper Contents

@IBAction func hoursStepperAction(_ sender: UIStepper) {
    hoursStepperResult.text = String(Int(sender.value))
}

@IBAction func minutesStepperAction(_ sender: UIStepper) {
    minutesStepperResult.text = String(Int(sender.value))
}


// End Stepper Contents

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
// Here is the new code its giving me 3 erroe because im trying to get the text and numbers from another ViewController to print out in this VC.

@IBAction func doneACButton(_ sender: AnyObject) {
    let newVC = storyboard?.instantiateViewController(withIdentifier: "ResultController") as! ResultController
    newVC.intPassed = hoursIntProvided
    newVC.intPassed = minutesIntProvided
    newVC.stringPassed = resultedHours.text!

}


func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    let location = locations.last
    let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
    let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 1))
    self.mapView.setRegion(region, animated: true)
    self.locationManager.stopUpdatingLocation()
}

func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    print("Errors: " + error.localizedDescription)
}



// MARK: - Navigation


}

1 个答案:

答案 0 :(得分:0)

请注意方法签名中的冒号:

-[Field_Service_Report.AddController hoursStepper:]
                                                 ^

这是采用参数的方法的签名,而不是访问者的签名。你确定你没有在某个地方拼错一个选择器名称,或者在IB中意外连接应该被移除的东西吗? (也许如果你重命名了一个方法并忘了重做动作连接?)