2016-10-07 3 views
0

Ich arbeite an einer App in Xcode 8 mit Swift 3, aber ich bin sehr neu in der iOS-Entwicklung im Allgemeinen. Ich habe in den letzten Tagen gute Fortschritte in der App gemacht, aber heute stürzt der Simulator weiter, nachdem er erfolgreich erstellt wurde. Es gibt eine Art Absturzprotokoll aus, aber ich habe keine Ahnung, was es mir zu sagen versucht. Es hebt die erste Methode in AppDelegate hervor und gibt mir SIGABRT Fehler. Meine letzten Änderungen sind, dass ich versucht habe, von einer uitableviewcell-Taste zu einer neuen Ansicht zu navigieren und Daten von der ersten zur nächsten Ansicht zu übergeben. Ich werde die Methoden, die ich für relevant halte, sowie den Absturzbericht veröffentlichen. Ich habe versucht, den SIGABRT-Fehler nachzuschlagen, aber es scheint ein unspezifischer Fehler zu sein und der einzige Leitfaden zum Lesen der Fehlerberichte war wie 2011 auf iOS 5. Jede Hilfe wird sehr geschätzt.Kann mir jemand helfen, dieses xcode-Absturzprotokoll zu entschlüsseln?

Crash-Report:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[mondayOct3_xmlParse.ViewController numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x7fadd2030000' 
*** First throw call stack: 
(
0 CoreFoundation      0x000000010633234b __exceptionPreprocess + 171 
1 libobjc.A.dylib      0x0000000105d9321e objc_exception_throw + 48 
2 CoreFoundation      0x00000001063a1f34 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 
3 CoreFoundation      0x00000001062b7c15 ___forwarding___ + 1013 
4 CoreFoundation      0x00000001062b7798 _CF_forwarding_prep_0 + 120 
5 UIKit        0x000000010673512f -[UIPickerView _delegateNumberOfComponents] + 56 
6 UIKit        0x000000010673425b -[UIPickerView _updateSelectedRows] + 91 
7 UIKit        0x000000010673432a -[UIPickerView didMoveToWindow] + 102 
8 UIKit        0x0000000106813ae5 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1799 
9 UIKit        0x0000000106813711 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 819 
10 UIKit        0x0000000106813711 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 819 
11 UIKit        0x0000000106806aa8 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 151 
12 UIKit        0x0000000106806996 -[UIView(Hierarchy) _postMovedFromSuperview:] + 857 
13 UIKit        0x00000001068166df -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1982 
14 UIKit        0x0000000106804b95 -[UIView(Hierarchy) addSubview:] + 838 
15 UIKit        0x0000000106c212bf -[UINavigationTransitionView transition:fromView:toView:] + 645 
16 UIKit        0x0000000106938b1b -[UINavigationController _startTransition:fromViewController:toViewController:] + 3314 
17 UIKit        0x00000001069390b9 -[UINavigationController _startDeferredTransitionIfNeeded:] + 874 
18 UIKit        0x000000010693a19b -[UINavigationController __viewWillLayoutSubviews] + 58 
19 UIKit        0x0000000106b311b7 -[UILayoutContainerView layoutSubviews] + 223 
20 UIKit        0x000000010681a344 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1237 
21 QuartzCore       0x000000010b7dbcdc -[CALayer layoutSublayers] + 146 
22 QuartzCore       0x000000010b7cf7a0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366 
23 QuartzCore       0x000000010b7cf61e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
24 QuartzCore       0x000000010b75d62c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 280 
25 QuartzCore       0x000000010b78a713 _ZN2CA11Transaction6commitEv + 475 
26 QuartzCore       0x000000010b78b083 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 113 
27 CoreFoundation      0x00000001062d6e17 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
28 CoreFoundation      0x00000001062d6d87 __CFRunLoopDoObservers + 391 
29 CoreFoundation      0x00000001062bb4b6 CFRunLoopRunSpecific + 454 
30 UIKit        0x000000010674fdb6 -[UIApplication _run] + 434 
31 UIKit        0x0000000106755f34 UIApplicationMain + 159 
32 mondayOct3_xmlParse     0x000000010579067f main + 111 
33 libdyld.dylib      0x000000010995c68d start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

UITableView Funktionen

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    self.performSegue(withIdentifier: "detailViewSegue", sender: indexPath); 
} 

func perpareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let destination = segue.destination as? viewTwoViewController 
    let index = (sender as! NSIndexPath).row; 

    destination?.newsStory = newsStories[index] 
    destination?.storyExpires = storiesExpire[index] 
    destination?.storySeverity = storiesSeverity[index] 
    destination?.storySummary = storiesSummary[index] 
    destination?.storyEffective = storiesEffective[index] 
    destination?.storyUrgency = storiesUrgency[index] 
    destination?.storyCertainty = storiesCertainty[index] 
    //  if (polygon.count != 0){ 
    //   destination?.polygon = polygon[index] 
    //  } 
} 

Empfangen Ansicht Klasse viewTwoViewController: UIViewController {

@IBOutlet weak var titleOutlet: UILabel! 
@IBOutlet weak var expiresOutlet: UILabel! 
@IBOutlet weak var severityOutlet: UILabel! 
@IBOutlet weak var effectiveOutlet: UILabel! 
@IBOutlet weak var urgencyOutlet: UILabel! 
@IBOutlet weak var certaintyOutlet: UILabel! 
@IBOutlet weak var summaryOutlet: UILabel! 

var newsStory = "" 
var storyExpires = "" 
var storySeverity = "" 
var storySummary = "" 
var storyEffective = "" 
var storyUrgency = "" 
var storyCertainty = "" 

override func viewDidLoad() { 
    super.viewDidLoad() 

    titleOutlet.text = newsStory 
    expiresOutlet.text = storyExpires 
    severityOutlet.text = storySeverity 
    effectiveOutlet.text = storyEffective 
    urgencyOutlet.text = storyUrgency 
    certaintyOutlet.text = storyCertainty 
    summaryOutlet.text = storySummary 

    // Do any additional setup after loading the view. 
} 

Hier sind die picker Funktionen die Fehler Referenzen:

private func numberOfComponentsInPickerView(_ pickerView: UIPickerView) -> Int 
{ 
    return 1 
} 

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int 
{ 
    return state.count 
} 

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! 
{ 
    return state[row] 
} 

func pickerView(_ pickerView: UIPickerView, didSelectRow row:Int, inComponent component:Int) 
{ 
    stateAbbrev = state[row] 
    url = NSURL(string: "http://alerts.weather.gov/cap/"+stateAbbrev+".php?x=0") 
    parseXML() 
    tableViewOutlet.reloadData() 
} 
+0

anzeigen waren Sie rufen 'numberOfComponentsInPickerView' der Fehler ist. –

+0

Ich habe die Pickerview-Funktionen zum Beitrag hinzugefügt @RashwanL –

+0

Ja, aber rufen Sie numberOfComponentsInPickerView irgendwo in Ihrem Code? –

Antwort

0

Die Signatur der Anzahl der Komponenten Funktion unterscheidet sich in Swift 3. Es sollte:

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
    ... 
} 
+0

Ich änderte diese Funktion und immer noch den gleichen Fehler: Beenden App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [MontagOct3_xmlParse.ViewController numberOfComponentsInPickerView:]: unerkannter Selektor an Instanz 0x7fd28104b200' –

+0

gesendet Welche Klasse sind die Picker View Datenquelle Funktionen im? – dan

+0

Alle meine Pickview-Funktionen sind in ViewController.swift –

Verwandte Themen