콜백 한개만 저장하면 되는데...
var callback: ()->() // -- 이렇게 선언하면 클래스 초기화 덜 되었다고 생성자 만들라고 난리가 나기때문에
var callback: ()->() ? // -- 이거는 문법 에러라 안되고... null일수도 있는 객체는 ?표시하는게 함수형 변수에는 안되네.
위에 두가지 선언이 안되기 때문에...
var callbacks: [()->()] = []
이렇게 배열로 선언해놓고
func setCallback(_ myfunc: @escaping ()->())
{
callbacks.append(myfunc) // -- 이렇게 배열에 넣어두고
}
func onButton()
{
callbacks[0]() // -- 이렇게 [0]번째 인덱스를 참조해서 호출하는데
}
어차피 콜백 한개만 저장할거고
하나만 부를건데
배열에 저장하고 배열에서 꺼내쓰느라 인덱스 참조하는게 안예쁜데...
더 깔끔한 방법 있냐??
정확한 문법도 모르고 급하게하다보니까 답답하네.
스위프트 모르는데 var callback : (() -> ())? 는 안됨?