iOS
-
SwiftUI View Lifecycle - 뷰 생명주기 완벽 이해하기iOS/swiftUI 2025. 5. 12. 21:07
오늘은!SwiftUI 의 View lifecycle 을 한번 정리해보겠습니다;)UIKit 에 비해 훨씬 간단해서 한 번 읽고 넘겼었는데,정확히 어떤 시점을 기준으로 상태가 변하는지 눈으로 확인해보면서 정리해 볼게요 SwiftUI View liifecycle 핵심 원칙1. 뷰는 Value 타입View 는 struct 이며, 상태가 바뀔 때마다 새로운 인스턴스 생성View의 상태변화가 생명주기의 핵심!!! 2. 상태 기반 렌더링@State, @ObservedObject, @EnvironmentObject 등의 상태 변경되면-> body 재평가 -> 새로운 뷰로 업데이트 View Lifecycle1) init()뷰 인스턴스가 생성될 때 호출됨프로퍼티 초기화, 로그 출력에 사용가능2) .onAppear뷰..
-
Cocoa touch framework 정리iOS 2023. 1. 15. 19:43
코코아 터치 프레임워크(Cocoa touch framework) UIKit: 아이폰, 아이패드, 애플워치 등에서 실행되는 애플리케이션의 유저인터페이스 제공 터치, 지문인식, 각종 센서 등 사용자액션 처리 요소 구현 Foundation :어플리케이션 핵심 객체와 네트워크, 문자열 처리 등 서비스 지원 iOS,watchOS, tvOS 에 사용 코코아 프레임워크(Cocoa framework) AppKit Foundation : 코코아터치에서 사용되는 파운데이션 프레임워크와 동일 macOS에 사용 프레임워크 계층구조 프레임워크는 하위 프레임워크에 의존적이다. ex) Cocoa Touch (상위) Media Core Service Core OS (하위) 1. Core OS 커널, 파일 시스템, 네트워크, 보안, ..
-
[Swift] 프로퍼티(Property)- 프로퍼티의 정의, 종류iOS 2022. 8. 9. 22:05
증말 기본적인 개념인데도 그냥 대애충 두루뭉술하게만 알고 넘어갔었더라고요 🥲 막상 구체적으로 문제가 나오니까 확실히 아는게 없는 것 같아서 이번 기회에 한 번 정리해봅니다 > oldValue { print("Added \(totalSteps - oldValue) steps") } } } } let stepCounter = StepCounter() stepCounter.totalSteps = 200 // About to set totalSteps to 200 // Added 200 steps stepCounter.totalSteps = 360 // About to set totalSteps to 360 // Added 160 steps stepCounter.totalSteps = 896 // About t..
-
iOS 소셜로그인 구현 - 구글 로그인 연동iOS 2022. 5. 16. 20:16
안녕하세요 ! 도안입니당 :> 티스토리가 다 쓴 글을 날려버렸어요... 분명 자동저장 열심히했는데 이자식..... 어쩌겠나요 다시써야지 ᵕ᷄≀ ̠˘᷅ >>카카오 로그인 하는 법 보러가기[OAuth동의 화면] >> [User Type 외부] >> 앱 이름, 이메일,개발자 연락처 등록하고 저장! Client ID 발급 받기 [API및 서비스] >> [사용자 인증 정보] >> [+ 사용자 인증 정보 만들기] >> [OAuth 클라이언트 ID] >> [iOS] >> 번들ID, 앱스토어 ID(있는경우만) 입력 까지 하시면 클라이언트 아이디가 생성됩니다! >. Bool { var handled: Bool handled = GIDSignIn.sharedInstance.handle(url) if handled { re..
-
iOS 소셜 로그인 구현 - 카카오톡 로그인 연동iOS 2022. 5. 10. 13:55
안녕하세요! 도안입니당. 요 며칠 소셜 로그인때문에 애먹었는데 기록해두지 않으면 또 헤맬 것 같아서 기록해둡니다! 사실 애먹은 이유는 bundle id, certeficates 쪽이긴 한데, 이것두 나중에 포스팅하겠습니다~~ 더보기 카카오 문서에 나와있는 로그인 로직입니다!! 우리가 카카오 로그인 요청을 하면? 1. 카카오 계정 사용자의 자격정보로 인가 코드를 받아옴. 2. 이 인가코드로 액세스 토큰과 리프레시 토큰을 얻음. 간략하게 정리하면 이렇게 되겠네용. 일단 순서부터 간략하게 훑고가자면, 1. Kakao 개발자 사이트에 앱 등록하기! 1.1. 앱 추가 1.2. iOS 플랫폼 등록 1.3. 카카오 로그인 활성화 1.4. 동의 항목 설정 1.5 네이티브 앱 키 확인 2. SDK설치! 3. xcode ..
-
[iOS/Swift] 신입 면접 질문 정리 (22.05.04 업데이트)iOS 2022. 5. 4. 01:35
ㅎㅎ 내가 보려고 만드는 면접질문 정리~ 직접 들은 질문들 + 유명한 iOS 면접 질문들 섞어서 정리해봅니다! 1. ARC (Automatic Reference Counting) 더보기 자동 레퍼런스 카운팅! 자동으로 메모리를 관리해주는 방식 ARC는 메모리영역중 힙 영역을 관리함. 런타임에 주기적으로 참조를 추적하여 사용하지 않는 인스턴스를 해제하는 GC(garbage collector)와 다르게 컴파일 타임 시점에 언제 참조/해제되는지 결정되어 런타임때 그대로 실행됨. 근데... 순환참조시 메모리가 영구적으로 해제되지 않을 수 있음 모든 인스턴스는 자신의 RC값을 가지고있음 (몇번이나 참조되고있는지!! 참조 횟수!! 인스턴스 생성될때 힙에 같이 저장됨) 이 RC값은 어떻게 세냐?? 참조 횟수가 +1이..
-
[xcode]Failed to register bundle identifier 오류 해결iOS/error log 2022. 4. 28. 10:47
Failed to register bundle identifier: The app identifier "com.WeekFlex" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again. No profiles for 'com.WeekFlex' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.WeekFlex'. 폰에다가 빌드하려고 하니 이런 에러가 뜬다. 일단 bundle identifier가 고유하지 않아..
-
[rxSwift] Swift UItextView 에서 Placeholder설정, DidBeginEditing, DidEndEditingiOS 2021. 6. 3. 01:32
아주아주 간단한 기능들부터 rxSwift 로 하나씩 해보는 중이다. UItextView 에는 Placeholder기능이 없다. 그래서 야매로 textView Placeholder기능을 구현해봤다. 일단 textview가 클릭됐을때 아무 입력이 없는 상태에서도 DidBeginEditing이 호출되기때문에(처음알았다) 이 때 textView안의 내용이 placeholder의 내용과 같으면 지워주는 식으로 구현을 했다. 만약 클릭을 했다가 아무 내용도 쓰지 않은 채 다른 곳을 누르면 다시 placeholder가 채워져야 하기 때문에 didEndEditing 으로 구현했다. 코드 func textSetUp(){ textView.rx.didBeginEditing .subscribe(onNext: { [self] ..