-1
當我提出其具有通過該方法在present(viewController(), animated: true, completion: nil)
它拾取器的視圖控制器選取器拋出錯誤,該錯誤unexpectedly found nil while unwrapping an Optional value
被拋出。有人能告訴我如何解決這個問題嗎?夫特:當它的視圖控制器被呈現編程
回溯:
* thread #1: tid = 0x848b34, 0x000000010eb3bc50 libswiftCore.dylib`function signature specialization <preserving fragile attribute, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt, flags : Swift.UInt32) -> Swift.Never + 96, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
frame #0: 0x000000010eb3bc50 libswiftCore.dylib`function signature specialization <preserving fragile attribute, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt, flags : Swift.UInt32) -> Swift.Never + 96
* frame #1: 0x000000010c19c231 Exercise Generator`createNew.viewDidLoad(self=0x00007f9d12d69b30) ->() + 177 at createNew.swift:43
frame #2: 0x000000010c19c722 Exercise Generator`@objc createNew.viewDidLoad() ->() + 34 at createNew.swift:0
frame #3: 0x000000010d32ea3d UIKit`-[UIViewController loadViewIfRequired] + 1258
frame #4: 0x000000010d32ee70 UIKit`-[UIViewController view] + 27
frame #5: 0x000000010dbef6a4 UIKit`-[_UIFullscreenPresentationController _setPresentedViewController:] + 87
frame #6: 0x000000010d309702 UIKit`-[UIPresentationController initWithPresentedViewController:presentingViewController:] + 141
frame #7: 0x000000010d341e97 UIKit`-[UIViewController _presentViewController:withAnimationController:completion:] + 3956
frame #8: 0x000000010d34526b UIKit`-[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 530
frame #9: 0x000000010d344d51 UIKit`-[UIViewController presentViewController:animated:completion:] + 179
frame #10: 0x000000010c1b18fa Exercise Generator`openRecent.myaction(sender=0x00007f9d12c45f50, self=0x00007f9d12c451e0) ->() + 1706 at openRecent.swift:57
frame #11: 0x000000010c1b1afa Exercise Generator`@objc openRecent.myaction(sender : UIButton!) ->() + 58 at openRecent.swift:0
frame #12: 0x000000010d18e8bc UIKit`-[UIApplication sendAction:to:from:forEvent:] + 83
frame #13: 0x000000010d314c38 UIKit`-[UIControl sendAction:to:forEvent:] + 67
frame #14: 0x000000010d314f51 UIKit`-[UIControl _sendActionsForEvents:withEvent:] + 444
frame #15: 0x000000010d313e4d UIKit`-[UIControl touchesEnded:withEvent:] + 668
frame #16: 0x000000010d6be304 UIKit`_UIGestureEnvironmentSortAndSendDelayedTouches + 5645
frame #17: 0x000000010d6b8fcb UIKit`_UIGestureEnvironmentUpdate + 1472
frame #18: 0x000000010d6b89c3 UIKit`-[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 521
frame #19: 0x000000010d6b7ba6 UIKit`-[UIGestureEnvironment _updateGesturesForEvent:window:] + 286
frame #20: 0x000000010d1fdc1d UIKit`-[UIWindow sendEvent:] + 3989
frame #21: 0x000000010d1aa9ab UIKit`-[UIApplication sendEvent:] + 371
frame #22: 0x000000010d99772d UIKit`__dispatchPreprocessedEventFromEventQueue + 3248
frame #23: 0x000000010d990463 UIKit`__handleEventQueue + 4879
frame #24: 0x000000010cd0d761 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
frame #25: 0x000000010ccf298c CoreFoundation`__CFRunLoopDoSources0 + 556
frame #26: 0x000000010ccf1e76 CoreFoundation`__CFRunLoopRun + 918
frame #27: 0x000000010ccf1884 CoreFoundation`CFRunLoopRunSpecific + 420
frame #28: 0x00000001113f1a6f GraphicsServices`GSEventRunModal + 161
frame #29: 0x000000010d18cc68 UIKit`UIApplicationMain + 159
frame #30: 0x000000010c1af2ef Exercise Generator`main + 111 at AppDelegate.swift:12
frame #31: 0x000000011046768d libdyld.dylib`start + 1
相關代碼: 本發明的方法:
func myaction(sender: UIButton!) { //several buttons are created programmatically, all trigger this function
print("button pressed")
print(sender.currentTitleColor)
switch sender.tag {
case 0 :
print("First Button")
case 1 :
print("Second Button")
default:
print("button action from undefined button")
}
present(createNew(), animated: true, completion: nil)
}
目的地(createNew()
)
@IBOutlet weak var nameField: UITextField!{
didSet {
nameField.delegate = self
}
}
@IBOutlet weak var tagButton: UIButton!
@IBOutlet var PatientPicker: UIPickerView!
@IBOutlet var OrientationPicker: UIPickerView!
@IBOutlet var tagLabel: UILabel!
@IBOutlet weak var saveButton: UIButton!
var patientPickerData : [String] = [String]()
var orientationPickerData: [String] = [String]()
var exerciseName: String = "Untitled"
var orientation : String = String()
var tag: String = ""
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
//Picker info
self.PatientPicker.dataSource = self //Error happens here
self.PatientPicker.delegate = self
self.OrientationPicker.dataSource = self
self.OrientationPicker.delegate = self
patientPickerData = ["--Select Patient--", "No Patient"]
orientationPickerData = ["--Select Orientation--","Standing","Reclining"]
//End of viewDidLoad()
}
這應該是所有與問題相關的代碼。如果需要的話,有一些更多的東西我可以發佈,但正如我前面說的這個作品與故事板塞格斯出於某種原因,編程時呈現不起作用。
您需要提供更多的細節,崩潰日誌?一些代碼等,很難幫助你只猜測發生了什麼 –
提供了一個回溯 –
viewContoller()是問題 – OverD