簡體   English   中英

如何根據日期顯示不同的視圖

[英]How to show different views based on date

我需要在某一天顯示某個視圖,所以嘗試根據日期來做,但它不起作用,請幫我解決這個問題

  ...
  func UpdateData() {
            
    let current = Calendar.current
            
    let date = current.component(.day, from: self.date)
    let weekDay = current.component(.weekday, from: self.date)
    let day = current.weekdaySymbols[weekDay - 1]
            
    self.data = DateType(Day: day, Date: "\(date)")
  }
        
  struct DateType {
    var Day: String
    var Date: String
  }
    
  var body: some View {
    
    ZStack {
    
    if self.data.Day == DAY_1 {.       // <- here is my if statement
       WorkOutView()}

  }
}

好的,讓我從基礎開始 -

首先也是最重要的規則,如果您需要更新任何視圖,您需要使用source of truth@State ,但我們可以通過@ObservedObject, @Binding 、@Binding、 @StateObject等不同屬性在子視圖中使用source of truth

因此,在您的代碼中缺少代碼源,需要更新視圖。

所以如果你想改變基於天的視圖,那么你需要像這樣初始化

@State let date = current.component(.day, from: self.date)

如果需要,也可以更改下面的代碼,如果僅更改上面的代碼有效,那么您可以使用 go。

struct DateType {
    @State var Day: String
    var Date: String
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM