2016-08-27 3 views
1

I had an a problem with this code, this identifier didn't run with meИспользование неразрешенного идентификатора '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] 
      } 
     } 
    } 
} 

Ошибка: Использование неразрешенного идентификатора 'Tableview'

ищет решение. Спасибо,

+3

Вы не имеете 'tableView' в своем классе - вы должны добавить его. –

+0

Это контроллер вида, который принимает объект изображения с другого контроллера вида – user2508528

ответ

1

У вас есть табличное представление в вашем VIEWCONTROLLER? Если да, то создайте IBOOutlet между вашим классом и viewcontroller

2

Метод prepareForSegue, очевидно, находится в неправильном классе (скопируйте и вставьте ошибку?).

Он принадлежит к Мастер контроллер.

-2

вы можете увидеть this вопрос или этот this для справки.

Такое поведение называется «областью действия» и имеет решающее значение для любого языка программирования. Переменные, объявленные внутри метода, не видны вне его и не сохраняются, когда этот метод завершен. и в вашем случае для создания переменной Tableview вы должны создать IBOoutlet или вы можете определить его программно тоже вы можете получить более подробную информацию от here

и here

+0

Мне очень хотелось бы знать причину downvotes. –

Смежные вопросы