2016-08-27 1 views
1

I had an a problem with this code, this identifier didn't run with meVerwendung von ungelöstem Identifikator ‚tableview‘

import UIKit 

class RestaurantDetailViewController: UIViewController { 


    @IBOutlet var restaurantImageView: UIImageView! 
    var restaurantImage = "" 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     restaurantImageView.image = UIImage(named: restaurantImage) 
    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "showRestaurantDetail" { 
      if let indexPath = tableView.indexPathSelectedRow { 
       let destinationController = segue.destinationViewController as! RestaurantDetailViewController 
       destinationController.restaurantImage = restaurantImageView[indexPath.row] 
      } 
     } 
    } 
} 

Der Fehler ist: Verwendung von ungelöstem Identifikator ‚tableview‘

nach einer Lösung gesucht. Danke,

+3

Sie haben keine 'tableView' in Ihrer Klasse erhalten - Sie sollten einen hinzufügen. –

+0

Dies ist ein View-View-Controller, der Bildobjekt von anderen View-Controller – user2508528

Antwort

1

Haben Sie eine Tabellenansicht in Ihrem VIEWCONTROLLER? Wenn ja, dann erstellen Sie ein IBOOutlet zwischen Ihrer Klasse und viewcontroller

2

Die prepareForSegue Methode ist offensichtlich in der falschen Klasse (Kopieren und Einfügen Fehler?).

Es gehört zum Master Controller.

-2

können Sie this Frage oder dieses this als Referenz sehen.

Dieses Verhalten wird "Scope" genannt und ist für jede Programmiersprache entscheidend. Variablen, die innerhalb einer Methode deklariert wurden, sind weder außerhalb dieser Variablen sichtbar noch bestehen sie, wenn diese Methode beendet wurde. und in Ihrem Fall für die Erstellung von Tableview Variable müssen Sie eine IBOoutlet erstellen oder Sie können es definieren programmatisch zu können Sie mehr Details von here

und here

+0

erhalten würde ich würde gerne den Grund von Downvotes wissen. –

Verwandte Themen