Как передать date () из DatePicker из одного представления в другое? - PullRequest
0 голосов
/ 28 апреля 2020

Всем привет и заранее спасибо. Это моя первая публикация, так что извините, если она не верна.

Я очень новичок в кодировании. Учусь как я go.

Я использую CoreData и у меня настроена эта часть.

 @Environment(\.managedObjectContext) var managedObjectContext
    @Environment (\.presentationMode) var presentationMode

    var dateFormatter: DateFormatter {
           let formatter = DateFormatter()
           formatter.dateStyle = .long
           return formatter
       }

    @State var title = ""
    @State var location = ""
    @State var happenedOn = Date()

У меня также есть настройка DatePicker.

DatePicker(selection: $happenedOn, in: ...Date(), displayedComponents: .date, label: {Text("Happened On")})

Что я не могу понять, как передать дату в другое представление. Я перепробовал много вещей, но не могу заставить его работать. Остальная часть CoreData работает отлично, это просто дата.

                Button("Add", action: {
                    let newItem = BeenThereItem(context:
                        self.managedObjectContext)
                    newItem.title = self.title
                    newItem.location = self.location
                    newItem.id = UUID()
// Things I've tried below.

//                    let newItem = BeenThereItem(validDate: self.dateFormatter.string(from: self.happenedOn))
//                    newItem.happenedOn = self.happenedOn
//                    newItem = ("\(self.happenedOn, formatter: self.dateFormatter)")
//                    newItem = self.happenedOn(validDate: self.dateFormatter.string(from: self.happenedOn))

//Things I've tried above.
                    do {
                        try self.managedObjectContext.save()
                        print("Item saved")
                        self.presentationMode.wrappedValue.dismiss()
                    } catch {
                        print(error.localizedDescription)
                    }
                })

Здесь я пытаюсь получить ее на go.

                 ForEach(beenThereItems) { beenThere in
                        NavigationLink(destination: BeenThereDetailsView(beenThere: beenThere)) {
                            BeenThereRowView(title: beenThere.title, location: beenThere.location)
//                            Text("\(beenThere.happenedOn, formatter: self.dateFormatter)")
                        }

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