본문 바로가기
728x90

Swift12

[Swift] self?. vs guard let self = self 클로저내에서 self를 참조할 때, self?.와 guard let self = self의 사용은 주로 강한 참조와 약한 참조, 그리고 코드 가독성과 안전성 측면에서 차이를 보입니다. self?. 사용someClosure = { [weak self] in self?.doSomething()}self?.는 클로저 내에서 self를 약하게 참조(weak reference)할 때 사용됩니다. self가 nil일 경우 클로저 내의 코드가 실행되지 않도록 합니다.장점:안전성: self가 nil일 경우 클로저 내의 코드가 실행되지 않아 안전합니다.간결함: 짧고 간결한 코드로 작성할 수 있습니다.단점:옵셔널 처리: 모든 self 참조가 옵셔널이므로, 추가적인 옵셔널 언래핑이 필요할 수 있습니다.부분 실행: se.. 2024. 7. 3.
MVI (Model - View - Intent) MVI란? MVI는 Model-View-Intent의 약자로, 사용자의 의도(Intent)가 애플리케이션 상태(State)에 영향을 미치고, 이 상태가 뷰(View)에 반영되는 아키텍처이다.Model: 애플리케이션의 상태를 나타냅니다. 모든 UI 데이터와 비즈니스 로직을 포함View: 사용자 인터페이스를 나타내며, Model의 상태 변화를 반영Intent: 사용자의 액션이나 이벤트를 나타내며, Model의 상태를 변경하는 데 사용 그렇다면 상태(State)는 뭘까?"상태(State)"는 애플리케이션의 현재 데이터를 의미한다.상태는 즉 앱의 모든 중요한 데이터를 포함해, UI를 비롯한 다양한 부분에서 공유된다.UI 상태: 현재 화면에 표시되는 내용, 사용자 입력, 로딩 상태 등.도메인 데이터: 애플리케이션.. 2024. 6. 7.
iOS(UIKit)에서의 CleanArchitecture+MVVM 예시 뜯어보기 https://jife98.tistory.com/34 MVVM in iOSMVVM in WPF (MVVM의 역사) MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했다. XAML (Extensibjife98.tistory.com이전 포스팅 에서, MVVM에 대한 개념과 iOS(UI Kit)에서의 MVVM에 대해 공부하고 알아보았다. 그래서, 어떻게 폴더구조와 파일들을 배치해야할까...? 여러 예제들마다, 제 각각이나, 깃헙에 스타도 많고 상세한 설명과 테스트 구조도 나와있는 예제파일을 토대로 MVVM에 대한 폴더구조와.. 2023. 9. 15.
[Swift/iOS] 구글 로그인 구현하기! 1.Pod에 구글로그인 sdk를 추가해줍니다. pod 'GoogleSignIn' 2. https://cloud.google.com/?hl=ko 구글 클라우드 플랫폼 콘솔로 들어가서 클라이어튼 ID 만들기를 클릭 저희는 당연히 iOS를 선택해야겠죠? 개인적으로 PLIST를 다운로드해서 따로 클라이언트 ID를 관리하는게 좋습니다~(추천임 굳이 안해도 NO matter~) 3. URL Types에서 추가해서 역순으로 되어있는 구글클라이언트ID가 있습니다. (다운받으신 PLIST) 4. AppDelegate에 있는 didFinsihLaunching 함수에 아래 코드를 추가 해주십쇼 func application(_ application: UIApplication, didFinishLaunchingWithOpti.. 2023. 2. 28.
[Swift UI Kit] UI Button 내 이미지 크기 조절하기 쿠팡 클론 프론트 부분 클론 코딩중 예시 이미지를 넣을려는데 짤린다. 스토리보드에서는 이미지 크기를 설정 할 수 있는 것이 보이지 않는다. 아울렛 변수로 선언후 아래와 같이 해도 되공, 스토리 보드에서 백그라운드로 바꾸어 해도 된다. import UIKit class UseInfoController : UIViewController{ @IBOutlet weak var Button1: MyBtn! override func viewDidLoad() { super.viewDidLoad() Button1.setImage(UIImage(named:"IMG_1715"),for: .normal) Button1.contentVerticalAlignment = .fill Button1.contentHorizontalAl.. 2023. 1. 27.
[Swift UI Kit] 스토리보드로 만든 탭바 순서 변경 및 시작 첫 화면 설정 현재 위와 같이 탭바를 구성하였지만, 순서를 생각 않고 마구잡이로 만들어 뒤죽박죽에다가 첫 시작화면이 검색화면이 뜬다 메뉴 , 검색 , 홈화면 , 유저 , 장바구니 순으로 바꾸고 앱 실행 시, 홈화면으로 바꾸고 싶다. 우선 순서는 위 사진에 나오는 스토리보드에서 마우스로 꾸욱 눌러 이동시켜 순서를 맞추면 된다. 아래는 결과이다. 그 다음은, 첫화면에 홈화면을 띄우는 거다. 간단히 아래 코드를 적용하면 된다. import UIKit class TabbarViewController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() self.selectedIndex=2 //왼쪽 아이콘 부터 0, 1, 2, ''' } } 최종 결과~! 2023. 1. 23.
728x90
반응형