- Objective-C란?
Swift 이전, Cocoa Framework를 쓰기 위해 사용해야 했던 언어다.
Java, PHP와 함께 대소고 3대 개노답 언어 중 하나다.
뒤에 C가 붙어서 C++ 같은 C의 슈퍼셋 언어라고 할 수도 있지만,
ObjC의 코드를 자세히 보면... 왜 개노답 언어인지 알 수 있다.
- 도대체 왜
ObjC의 계승자 Swift가 출시한지 벌써 9년째다.
Swift에 비해 장점이 없는 ObjC는 이제 거의 쓰이지 않는다.
Apple에서도 Swift를 권장하고, 언제 지원이 끊길지 모른다.
우리 학교에서도 노답 취급받는 이 언어를 나는 왜 했던 걸까?
나는 Cocoa Framework에 대해 조금 더 깊이 이해하고 싶었다.
하지만 아직 Cocoa의 대부분은 ObjC로 작성되어 있다.
그리고 하지 말라면 더 하고 싶은 법이 있다.
그래서 도전해봤다.
- 팝캣 만들기
팝캣은 위의 사진이다. 고양이 관련 외국 밈이다.
터치하면 사진처럼 고양이가 입을 벌리는 사이트가 있다.
그래서 그걸 iOS 버전으로 만들어보기로 했다.
그런데 그냥 하면 재미없지 않은가?
그래서 터치한 횟수를 저장하는 서버 통신을 추가하기로 했다.
- 인터페이스
나는 SwiftUI를 주로 사용해 스토리보드는 거의 사용해보지 않았다.
그런데 ObjC는... SwiftUI같은 게 없다.
그래도 어떻게 만들긴 했다.
뒤에 배경 이미지를 넣고, 중간에는 횟수가 나올 레이블을 넣었다.
그리고 상황에 따라 바뀔 팝캣 이미지가 들어갈 이미지 뷰도 추가했다.
- 코드 쓰기
티스토리 코드블럭에 델파이도 있는데 ObjC가 없다(...)
그래서 어차피 아무도 안 쓸 코드라 사진으로 올려야겠다.
일단 스토리보드를 사용했기 때문에 코드에 연결해주자.
그리고 ObjC를 잘 몰라서 그냥 전역변수로 카운트해주기로 했다.
Swift와 C를 적당히 섞어놓은 것 같다. 이대로면 조금 괜찮을지도.
다음으로 화면이 로딩되면 나올 텍스트와 이미지를 설정해주자.
대괄호가 왜 저기 있을까.
그리고 저기 UIImage 클래스는 왜 저렇게 사용할까... 일단 넘어가보자
터치했을 때 서버로 신호를 보내야 하니 함수를 하나 작성했다.
일단 인터넷에서 URLSession 예제를 불러왔다. 그리고...
뇌정지가 왔다. 일단 저게 정상적인 코드가 아니란건 안다.
하지만 도저히 적응할 수 없는 문법에 그냥 작동...만 하는 코드를 썼다.
마지막으로 버튼 처리를 해 줬다.
- 결론
일단 나하곤 아주 안 맞는 언어다.
써보니까 왜 안 쓰이고, 왜 하지 말라는지 알겠다.
Swift에게 항상 감사해야겠다.
'일상' 카테고리의 다른 글
등산 하는 개발자 - 2 (完) (3) | 2023.01.08 |
---|---|
등산 하는 개발자 - 1 (2) | 2023.01.08 |
근황 (0) | 2022.12.01 |
방황하고 있다 (1) | 2022.06.28 |
한국의 갈라파고스화에 대한 나의 생각 (0) | 2022.04.27 |