Как мне узнать, какая кнопка вызвала другой просмотр в swift 4? - PullRequest
0 голосов
/ 26 октября 2018

enter image description here

Я хочу знать, какая кнопка называется вторым представлением, в котором отображается список типов элементов. TableViewCell содержит массив всех элементов. Например, если пользователь нажимает на гамбургеры, он получает список всех предметов гамбургера. Я подключил каждую кнопку ко второму виду по отдельности, но, похоже, должен быть лучший способ, как подключить ее к методу touchButton, к которому подключены все кнопки, но я не уверен, как это сделать. Кроме того, должен ли массив элементов быть в tableViewController или tableViewCell хорошо?

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Теоретически:

Если вы переходите к следующему ViewController из current , вы можете создать переменную внутри следующего View Controller и при переходе от текущего VC к следующему вы можете извлечь имя Button внутри метода @IBAction, создать экземпляр следующего VC и получить доступ к этой переменной (созданныйранее) и назначьте имя этой кнопки этой переменной

код:

class CurrentViewController: UIViewController {

  // Your other code goes here

  @IBAction func actionButtonTapped(_ sender: UIButton) {

     // Here we fetch the name of the button tapped
     let nameOfButtonTapped = sender.titleLabel!.text

     // Here we create instance of NextViewController
     let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "#yourNextVCIdentifierHere") as! NextViewController

     // Here we assign the name of the button tapped to the variable of NextViewController so we can access it there
     nextVC.buttonNameThatWasClicked = nameOfButtonTapped

     self.present(nextVC, animated: true, completion: nil)

   }
}

class NextViewController: UIViewController {

  var buttonNameThatWasClicked: String?

  override func viewDidLoad() {
   super.viewDidLoad()

   print(buttonNameThatWasClicked!)

  }

}

Здесь мы можем подключить ВсеКнопки к одному @IBAction, перетаскивая все кнопки на имя метода @IBAction

0 голосов
/ 26 октября 2018

Прежде всего, вместо того, чтобы давать каждой кнопке переход на один и тот же вид, я рекомендую использовать только одну переход.

Один из подходов состоит в том, чтобы просто использовать индикатор int или строку в зависимости от вашей логики в табличном представлении элементов и назначать ее соответствующим образом при подготовке к методу segue, получая destinationVC.И обрабатывать индикатор в списке элементов при загрузке(при таком подходе у вас есть только один переход, и вы сможете выполнить работу).

Что касается подхода с табличным представлением.используйте tableview для списка элементов и tableViewCell для отдельных элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...