적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

초보 iOS 개발자의 일상/개발 업무 94

[Swift iOS] 서버와 API 통신 : HTTPHeaders 헤더로 값 넘겨주기

기존에 서버에 정보를 보내줄 때는 url에 파라미터로 데이터를 전송했는데 HTTP Header로 데이터를 보내주는 방법도 있다는 걸 알게되었다. API 통신을 할 때, 다음과 같이 HTTPHeaders().add 메서드를 사용해 값을 헤더로 넘겨줄 수 있다. HTTPHeaders().add(name: String, value: String) 다음과 같이 기기 및 버전 정보를 헤더에 추가해서 보낼 수 있는 것 같다. class APIManager: NSObject { internal static func getAPIHeader() -> HTTPHeaders { var header = HTTPHeaders() header.add(name: "osVer", value: Utils.getOSVersion()) ..

[Swift iOS] 앱 버전정보 가져오기

버전 정보 가져오는 법 : Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String 빌드 번호 가져오는 법 : Bundle.main.infoDictionary?["CFBundleVersion"] as! String 간단하게 사용하려면 다음과 같이 사용할 수 있다. let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String let bundleVersion = Bundle.main.infoDictionary?["CFBundleVersion"] as! String 나는 필요할 때 갖다 쓰기 위해 Utils 클래스에 선언해줌 public class Utils..

[Swift iOS] Section Index Title 한글 초성 가져오기 UnicodeScalar

유니코드에서 한글 분리 유니코드에서 한글은 0xAC00에서 0xD7A3 사이의 코드 값을 갖는다. 각 16진수 값은 10진수로 표시하면 44032와 55203으로 총 11,172개. 유니코드 내 한글은 초/중/종성의 조합으로 표현되며, 초성 19개, 중성 21개, 종성 28개를 조합하여 하나의 글자가 된다. 초성 = ((문자코드 - 0xAC00) / 28) / 21 중성 = ((문자코드 - 0xAC00) / 28 % 21 종성 = (문자코드 - 0xAC00) % 28 초성 구하는 코드 예시 let hangul = ["ㄱ","ㄲ","ㄴ","ㄷ","ㄸ","ㄹ","ㅁ","ㅂ","ㅃ","ㅅ","ㅆ","ㅇ","ㅈ","ㅉ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ"] func chosungCheck(word: String..

[Swift iOS] JSON parsing : ObjectMapper vs. Codable

JSON String을 파싱하기 위한 모델을 만들 때, Codable 외에도 ObjectMapper를 이용하는 방법이 있다고 한다. 늘 Codable로 Model을 만들어서 썼었는데, 예전 프로젝트 수정 업무를 맡게 되어 코드를 살펴보다 ObjectMapper를 발견하고 신기해서 찾아보게 되었다. ObjectMapper는 외부 라이브러리이기 때문에 Swift4 버전에서 Codable이 생긴 이후로는 사용하기에도 훨씬 간편하고 기능도 비슷한 Codable을 주로 사용하게 되어, 레거시 코드를 유지보수하는 경우가 아니라면 ObjectMapper는 굳이 사용할 일이 없게 되었다고 한다. 확실히 Codable이 사용하기 훨씬 편해보여 앞으로도 ObjectMapper를 쓸 일은 없을 것 같지만 그냥 참고용으로 알..

[Swift iOS] UIActivityViewController 카톡으로 공유하기

UIActivityViewController : A view controller that you use to offer standard services from your app. The system provides several standard services, such as copying items to the pasteboard, posting content to social media sites, sending items via email or SMS, and more. Apps can also define custom services. 이미지, URL, 텍스트 등의 정보를 복사, AirDrop, 메세지로 보내기, 카카오톡 공유, 메모에 저장 등으로 쉽게 공유할 수 있도록 해주는 컨트롤러. 쉽게 말..

728x90
반응형