반응형
예전부터 TCP/IP를 C언어로 개발하다 보니 아직은 Swift가 어색하다.
그래서 SwiftUI의 프로젝트에서 브리지를 사용하여 C언어로 개발 된 함수를 불러 오기로 했다.
함수를 그냥 부르는 것 까지는 아무 문제 없이 되었는데, 다음과 같은 문제가 있었다.
Swift 파일 안에 [let s = "Hello!!"] 가 있다고 하자,
변수 s 를 최종적으로 [void clientMain(char *inform)]에 넘기고 싶다.
따라서 "s" 를 "inform"으로 넘겨 줄 경우에 형 변환을 해야 된다.
어설프게 나마 다음과 같이 변환을 하였는데,
var dataname: [CChar] = inform.cString(using: String.Encoding.utf8)!
clientMain(&dataname)
더 좋은 방법이 있다면 수정을 하고 싶다는 생각이 든다.
Swift 로 프로그래밍 하는 것이 확실히 C언어 보단 쉬운거 같은데,
C언어에 너무 익숙해져 버려서 혼란이 일어나는 것 같다.
반응형