본문 바로가기

프로그래밍/iOS

[swift] string으로 함수 호출하기

webview에서 넘겨받은 값으로 함수를 호출하고 싶어서

string으로 함수 호출하는 것을 찾아본 결과

objc의 selector를 사용하라고 나와서 그 방법 기술

bioType이 pincode인 경우와 bio인 경우를 구분하고 또한 op타입이 reg, auth, dereg를 구분해서 함수를 호출하고 싶음
밑의 bio함수도 마찬가지

결국 호출하고 싶은것은

StonePass.pincodeReg(dic)

StonePass.pincodeAuth(dic)

StonePass.pincodeDereg(dic)

StonePass.bioReg(dic)

StonePass.bioAuth(dic)

SonePass.bioDereg(dic)

6가지 함수를 구분

이를 위해 호출하는 string을 구성

funcName에는 호출할 함수가 들어가고 :를 붙인 이유는 objc에서 파라미터가 있을 경우 :을 붙이기 때문, 마지막에 funcName에는 pincodeReg:과 같이 들어감
selector를 사용할 경우 앞에 함수 선언에 @objc를 붙여야한다.

위와 같이 설정한 후 

StonePass.perform(Selector(funcName), with: dic)

를 호출하면 해당 함수를 호출할 수 있다.

'프로그래밍 > iOS' 카테고리의 다른 글

[iOS] 앱스토어 업데이트 체크  (0) 2020.01.30
[XCode] sceneDelegate 삭제하기  (0) 2019.11.16
[iOS] http통신 허용하기  (0) 2019.08.27
[swift] bridge header 만들기  (0) 2019.08.20
[iOS] status deprecated iOS9  (0) 2018.01.02