분류 전체보기
Swift 5.7 릴리즈 - 언어 및 표준라이브러리, 개발자 경험
아래 글은 원문 링크에 구글 번역과 조심스러운 의역으로 이루어져있습니다! 틀린 내용이 있으면 댓글로 알려주세요:) 원문 바로가기 Swift 5.7 Released!Swift 5.7 is now officially released! Swift 5.7 includes major additions to the language and standard library, enhancements to the compiler for a better developer experience, improvements to tools in the Swift ecosystem including SourceKit-LSP and the Swifwww.swift.org Swift 5.7 가 정식 출시되었습니다!Swift 5.7에는 언..
[SwiftUI]커스텀 백버튼 백 제스처 시 화면 멈춤 이슈 해결
XCode : 13.2.1타겟 버전 : 14.0 이후시뮬레이터 버전 : 15.2개요프로젝트를 진행하면서 디자이너님의 요구사항에 맞게 백버튼을 커스텀해야 할 일이 생겼다. 그러나 SwiftUI에선 아직 NavigationBar 백버튼의 디자인을 바꿀 수 있는 옵션을 제공하지 않아 커스텀하여 사용하기로 했다. 그러나 커스텀 백버튼을 만들고 hidden 옵션을 주면 백 제스처가 동작하지 않았고.navigationBarHidden(true)찾다보니 UINavigationController를 직접 수정하면 해결 할 수 있다고 했다.interactivePopGestureRecognizer?.delegate = self그러나 Navigation Stack에 뷰가 하나밖에 없는데 뷰를 pop 해버리면 안되기때문에 vi..
[iOS]카카오 로그인 구현 시 키 값 숨기기
카카오 로그인 iOS SDK 공식 문서설치방법 : https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios사용방법 : https://developers.kakao.com/docs/latest/ko/kakaologin/ios앱을 출시하려면 필수가 되어버린 소셜 로그인 기능 중 국내에서 가장 많이 사용되는 카카오 로그인!그런데 SwiftUI 에서 iOS SDK 2.4.0 버전을 다루는 글이 많이 없는 것 같아 직접 맨 땅에 헤딩해보고 사용법과 문제점을 정리해보려고 합니다.개발 환경Xcode : 13.1target iOS : 14.0Kakao iOS SDK : 2.4.x로그인 방법자세한 내용은 카카오 공식문서에서 확인하실 수 있습니다.1. Inf..
[iOS][Swift] 프로토콜 vs 인터페이스 차이점
Swift를 공부하다보니 protocol 이란 개념이 많이 등장해서 protocol 이 정확히 뭘까하고 자료들을 찾다가, Swift는 프로토콜 지향 언어(Protocol-Oriented-Language) 라는 것을 알게 되었다. 그런데 읽다보니 Java에서의 interface 와 비슷한 것 같았고, 무엇이 다른지 알아보았습니다. protocol(프로토콜)은특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다. 구조체, 클래스, 열거형은 프로토콜을 채택(Adopted) 해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있습니다. 어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 프로토콜을 준수한다(Conform) 고 표현합니다. 타입에서 프로토콜의 요구..
[iOS][Swift] guard 문
고수들이 짠 코드들을 보다보면 모르는 구문들이 많아 코드가 이해안될 때가 많다. 그중 하나가 guard 이다. guard 문은 조건들을 걸러낼 때 사용한다. 그럼if 문을 사용하면 되는데, 왜 guard 를 사용하냐고 묻는다면 그 이유는 가독성에 있다.먼저 guard 문의 사용법 부터 알아보자 guard 사용법문법guard " 조건 " else { 조건이 false 일 때 실행될 구문 } 사용 예시// someValue 가 0이 아닐때만 출력func someFunc(someValue: Int?) { guard someValue != 0 else { return } print(someValue)}someFunc(someValue: 5)// 5if 문과 비교string을 전달받아 출력해주는 함수를..
[iOS][Swift] 코딩 컨벤션
Class 는 Pascal Casing을 사용한다.class ApplicationManagerclass SoftwareSetting로컬 변수, 함수, 함수 파라미터는 camel Casing을 사용한다.func openFunction(someParameter: Int) { let someNumber: Int = 0}상수의 경우 대문자와 밑줄을 사용한다.let CONST_NUMBER = 100변수이름 앞에 접두사를 붙인다.//멤버 변수 (m)let mAge: Int = 24//Bool 타입 (b)let bClicked: Bool = falselet mbClicked: Bool = false//enum 타입 (e)enum eDirection { case North. South }리턴 값이 있는 메소드는 ..