0

In meiner iOS App habe ich einen ViewController UIViewController, der eine View darstellt, die teilweise aus einem TableView besteht. Die UITableViewCells enthalten ein UISegmentControl. Wenn die Aktion valueHasChanged des UISegmentControls aufgerufen wird, möchte ich ein Popup-Fenster anzeigen. Dies ist der Code innerhalb der Aktion aufgerufen:Present Pop-up UIAlertController aus UITableViewCell Ohne UITableView

//Check that the text field isn't empty: 
    if self.TextField.text == "" { 

     self.Status.selectedSegmentIndex = 0 
     let viewController = ViewController() 
     viewController.alertStatusChangedForEmptyTextField(self) 
    } 

Dies ist die Pop-up-I innerhalb der Viewcontroller Klasse erstellt habe, die in der gleichen UITableViewCell, wenn ein benachbartes Textfeld überprüft leer ist oder nicht:

//Alert function that handles when toggle is set even though there is no content. 
func alertStatusChangedForEmptyTextField(sender: AnyObject) { 
    let alert = UIAlertController(title: "Text field has no contents", message: "Please enter a text.", preferredStyle: UIAlertControllerStyle.Alert); 
    alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Cancel, handler: nil)); 
    showViewController(alert, sender: self); 
} 

Ich bekomme einen Fehler, der in der ViewDidLoad-Funktion des ViewControllers auftaucht, aber aus dem Aufruf der showViewController-Methode innerhalb dieser Funktion stammt (ich weiß, weil ich versucht habe, nur diese letzte Zeile auszukommentieren und dann alles gut funktioniert).

Wie kann ich ein Pop-up (ViewController) innerhalb einer UITableViewCell aufrufen? Ich freue mich über Vorschläge, die völlig unterschiedliche Ansätze beinhalten (Erstellen einer benutzerdefinierten UITableView-Unterklasse? Eine Funktion, die in der TableViewCell-Klasse definiert ist?)

Ich habe auch keinen Root-View-Controller.

+0

Bitte schreiben Sie den Fehler –

+0

@SouravSachdeva Der Fehler wird auf der ersten Methode in meinem ViewDidLoad für die ViewController-Klasse aufgerufen (auch wenn ich die erste auskommentieren, dann die zweite einer wird den Fehler verursachen usw.). Der Fehler, der an der Konsole protokolliert wird, lautet: "Schwerwiegender Fehler: unerwartete Null beim Entpacken eines optionalen Werts (lldb)" gefunden Während mein Quellcode mit dem Fehler markiert ist: "Thread 1: EXC_BAD_INSTRUCTION (Code = EXC_1386_INVOP, Subcode = 0x0)" – Jonas

+0

Ich denke, es hat etwas mit dem Wert Ihrer Variablen zu tun, haben Sie den Wert der Variablen initialisiert, in der Sie den Text zuerst speichern, denke ich, wäre ein besserer Ansatz, den Wert aller Variablen in viewDidLoad() zu debuggen und zu prüfen ist null –

Antwort

0

überprüfen Sie den Wert des Storyboards, es besteht eine gute Chance, dass Sie es Null finden;

Ich versuche herauszufinden, wie das Pop-up aus benutzerdefinierten Tabellenansicht Zelle Element präsentieren. Wenn Sie es herausgefunden haben, teilen Sie die Methode :)

Verwandte Themen