Совместное использование логических переменных в SwiftUI с помощью кнопок ViewController - PullRequest
1 голос
/ 27 мая 2020

Я работаю со swift всего пару недель, и в настоящее время я работаю над проектом, который включает в себя «лайки» элементов и их сохранение в новой области. Изначально я установил для каждого объекта элемента логическую переменную с именем «Нравится», чтобы определить, понравился ли элемент с помощью кнопки «Нравится». Вот что у меня есть до сих пор под функцией кнопки, и любая помощь будет оценена!

  @IBAction func clickYes(_ sender: Any) { //if the item is liked

        self.performSegue(withIdentifier: "toThird", sender: self)

       liked = true

    }

    @IBAction func clickNo(_ sender: Any) {  //if the item isn't liked

        self.performSegue(withIdentifier: "toThird", sender: self)

    }

Как я могу получить обновленную логическую переменную «Нравится», которая будет обновлена ​​кнопкой «Да»?

* 1005 Просмотр содержимого SwiftUI. Прямо сейчас я использую неразрешенные ошибки идентификатора.

РЕДАКТИРОВАТЬ: Вот мой код контроллера просмотра

импорт UIKit

импорт SwiftUI

// импорт SDWebImage

импорт WebKit

import Combine

class secondscreenViewController: UIViewController {

@IBAction func clickYes(_ sender: Any) {

    self.performSegue(withIdentifier: "toThird", sender: self)

   var liked = true

}



@IBAction func clickNo(_ sender: Any) {

    self.performSegue(withIdentifier: "toThird", sender: self)

}



override func viewDidLoad() {



    super.viewDidLoad()

    let frame = CGRect(x: 20, y: 0, width: 400, height: 700)

  let childView = UIHostingController(rootView: ContentView2())

  addChild(childView)

  childView.view.frame = frame

  view.addSubview(childView.view)

  childView.didMove(toParent: self)



}

}

И contentview:

struct ContentView: View {

@ObservedObject var obs = observer()



var body: some View {



    NavigationView{

        List(obs.datas){i in



            Card(image: i.image, name: i.name, weburl: i.webUrl, rating: i.rating)

        }.navigationBarTitle("Restaurants")

    }



}

}

...