【发布时间】:2022-01-16 14:55:04
【问题描述】:
我想在初始化时将 Closure 作为参数传递,就像 Kotlin 块传递一样。 但是“变量'self.calendarView'在被初始化之前被闭包捕获”发生了。 怎么解决..?
struct ContentView: View {
let calendarView : MyDateCalendarView
func turnOnDailyPlanView(_ dateString : String){
print(dateString)
}
init(){
calendarView = MyDateCalendarView(year: 2021, month: 10)
{
(str : String) -> Void in
turnOnDailyPlanView(str)
}
}
}
【问题讨论】:
-
将您的 calendarView 声明为 Optionals。例如:-
let calendarView : MyDateCalendarView?或let calendarView : MyDateCalendarView? = nil甚至let calendarView : MyDateCalendarView!