Ich versuche, den detaillierten Text in einer UITableView-Zelle (die eine Telefonnummer "String" ist) abrufen und dann in einer Funktion verwenden, die einen Anruf tätigen wird.Wie kann man den detailedText von einer Zelle abrufen und dann in einer Funktion verwenden?
Problem:
Meine app hält mit dem Fehler Absturz „fatalen Fehler: unerwartet gefunden null, während ein optionaler Wert auspackt“ obwohl es einen Wert in der Variable ist.
Ich bin sicher, dass ich etwas falsch mit Kraft mache das optionale
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
let getPhone = cell?.detailTextLabel?.text
if indexPath.section == 0 && indexPath.row == 0 {
if let phoneNumber = getPhone{
openPhoneApp(phoneNumber)
}
}
// Open Phone App
func openPhoneApp(phoneNum: String){
UIApplication.sharedApplication().openURL(NSURL(string: "tel:\(phoneNum)")!)
}
Abwickeln
Setzen Sie einen Unterbrechungspunkt am Anfang Ihrer Funktion, und überprüfen Sie jede Eigenschaft, wenn ich null bin. – MCMatan
Das einzige Unwrap, das ich sehe, ist in NSURL, also erstellen Sie wahrscheinlich eine schlecht formatierte URL. BTW: zwinge NICHT, Dinge auszupacken –
Xcode schlägt vor, es auszupacken: "Wert des optionalen Typs 'NSURL?' nicht ausgepackt " – AziCode