2016-04-01 17 views
1

Ich habe ein Problem mit if-Anweisung und segue kann ich eine Verbindung zwischen ihnen herstellen! Ich habe ein Array dieser Zustände ["Florida","NY"]()SWIFT if-Anweisung und segue

meine Idee, zum Beispiel, wenn ich "Florida"<(this is "string") auf Tabellenansicht geklickt Ich möchte die Segue bewegt mich aus dieser Tabelle im Hinblick auf eine andere Tabelle Ansicht

und wenn ich geklickt "NewYork" auf Tableview ich möchte die segue mich aus dieser Tabelle Ansicht zu einer anderen bewegt, die Informationen über NY

dank

Antwort

1

Sie könnten etwas tun hat:

class SelectCityViewController : UITableViewController { 

    // store a reference to use in transition 
    var selectedCity : String? 

    let cities : [String] = ["New York", "San Francisco", "Los Angeles"] 

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     let cell = //TODO: your implementation here 

     cell.textLabel?.text = cities[indexPath.row] 

     return cell 
    } 

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

     self.selectedCity = cities[indexPath.row] 

     performSegueWithIdentifier("YOUR_SEGUE_IDENTIFIER", nil) 

    } 

    override func tableView(tableView: UITableView, numberOfItemsInSection section: Int) -> Int { 

     return self.cities.count 
    } 

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 

     return 1 
    } 


    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

     if let vc = segue.destinationViewController as? CityDetailViewController { 

      vc.selectedCity = self.selectedCity! 
     } 
    } 
} 

Dann würde Ihre zweite View-Controller eine Variable mit Ihrer gewählten Stadt darin gespeichert haben, so könnten Sie Setup Ihre Inhalte entsprechend

class SelectedCityDetailViewController : UITableViewController { 

    // Set during the segue 
    var selectedCity : String! 

    // The rest of your methods 
} 
1

Sie so etwas wie dies in DidSelectRowAtIndexPath tun können.

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

let currentCell = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell 

if let text = currentCell.textLabel?.text { 
if text == "Florida"{ 
    // segue tableview controller 
} else if text == "NY" { 
    //another segue 
    } 
} 
} 
0

Nehmen Sie einen ViewController und fügen Sie eine TableView hinzu. Fügen Sie zwei weitere View-Controller hinzu, einen für die NY-Info und den anderen für eine weitere uTableView. Erstellen Sie zwei Übergänge vom Hauptcontroller zu den anderen beiden. Benennen Sie die Segmente so, dass Sie im Code darauf verweisen können. In DidSelectRowAtIndexPath fügen Sie den folgenden Code:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

let currentCell = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell 

if indexPath.row == 0{ 

     self.performSegueWithIdentifier("florida", sender: nil) 

    }else if indexPath.row == 1{ 

     self.performSegueWithIdentifier("ny", sender: nil) 

    } 
} 

Bitte diese Link überprüfen. Ich habe ein Demo-Projekt für Sie erstellt. Ich denke du bist ein Vorreiter für die iOS Entwicklung. Fortfahren!! :)

+0

[Links zu externen Ressourcen werden empfohlen, aber bitte fügen Sie Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Idee haben, was es ist und warum es da ist. Zitiere immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar oder dauerhaft offline ist.] (Http://stackoverflow.com/help/how-to-answer) – MadProgrammer

+0

Ich hatte dafür ein Demo-Projekt erstellt Antworten. Ich glaube nicht, dass es irgendwas zu erklären gab. Es war nur eine statische Demo. –

+0

Links sterben sterben macht sie wertlos. Ich habe kein Problem mit dem Link, aber Sie sollten die wichtigsten Punkte in Ihrem Antworttext – MadProgrammer

Verwandte Themen