본문 바로가기 메뉴 바로가기

iOS LearningMachine🔥

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

iOS LearningMachine🔥

검색하기 폼
  • 분류 전체보기 (69)
    • iOS & swift (43)
    • algorithm (5)
    • computer science (20)
  • 방명록

iOS & swift (43)
Async Await Refactoring

기존의 비동기 처리 방식을 (escaping completion 을 RxSwift single로 리팩토링 이후 해당 Single 함수를 Fetch 함수 내부에서 사용) async await 비동기 처리 방식으로 refactoring 하는 과정입니다. - 기존 코드 (escaping completion + RxSwift single) Data - Repository - Search - Search User List API 의 일부 // Data - Repository - Search - search user list 함수 예시 private func lookUpRequest(userId: String, keyword: String, page: Int32 = 1, capacity: Int32 = 30, co..

iOS & swift 2023. 4. 12. 10:51
[SwiftUI] Apple Tutorials

생성한 App 구조체 import SwiftUI @main struct LandMarksApp: App { var body: some Scene { WindowGroup { ContentView() } } } @Main → 구조체 선언 앞에 @main 특성을 붙여 앱의 진입점을 나타냅니다. 앱은 하나의 진입점만 가집니다. App protocol: 앱의 구조와 동작을 나타내는 유형입니다. → 앱 시작시 ContentView를 띄우겠다는 의미 ContentView import SwiftUI struct ContentView: View { var body: some View { Text("Hello, world!") .padding() } } struct ContentView_Previews: PreviewP..

iOS & swift 2023. 4. 2. 15:08
[Swift] Hashable

Struct protocol로 Hashable을 쓰는 경우가 있습니다. import Foundation struct Landmark: Hashable, Codable { var id: Int var name: String var park: String var state: String var description: String } 이렇게 Fetch할 구조체 모델에 Hashable을 사용하기도 합니다. Hashable에 대해 알아보겠습니다. https://developer.apple.com/documentation/swift/hashable Hashable | Apple Developer Documentation A type that can be hashed into a to produce an intege..

iOS & swift 2023. 4. 1. 01:58
UserDefaults를 사용하여 Login Cache 저장하기

UserDefaults를 사용하여 로그인 cache 정보를 저장하는 방법입니다. UserDefaults는 Local Database로Login credentials, tokens 등과 같은 소량의 데이터를 저장하기 위해 사용됩니다. Local DB를 저장하는 방식으로는 CoreData도 존재합니다.CoreData와 Userdefaults의 차이점으로는CoreData는 여러 속성과 개체간의 관계를 가진 복잡한 데이터 모델을 저장하도록 설계되어있습니다. CoreData와 차이점Userdefaults는 간단한 string값을 저장하는 반면, CoreData에는 array, dictionary를 저장 할 수 있습니다.Userdefaults는 thread - safe이며 멀티 스레드에 별다른 문제 없이 접근해도 ..

iOS & swift 2023. 2. 26. 17:14
이미지 특정 부분만 늘리기 (Image Slicing, Image Stretch)

이런 이미지의 흰색 배경의 말풍선을 사용하려고 합니다. 만약 여기서 이미지의 width만 늘어나게 될 경우 cornerRadius의 값이 유지되지 못하고 깨지게 됩니다. 이를 Image Slicing의 Stretch 기능으로 문제를 해결 할 수 있습니다. 안드로이드에서는 9-Patch라고 하더라구요 우선 Asset에서 특정 부분만 늘리고자 하는 이미지를 선택해준 뒤, Show Overview 대신에 Editor의 Show Slicing를 체크합니다. 그러면 이렇게 가로 세로 영역을 잡을 수 있는데, 가로만 늘이고 싶다면 가로만, 가로세로 둘다 잡아서 늘이고 싶다면 둘다 선택해주시면 됩니다. 늘어나게 하고 싶은 영역을 위 이미지 처럼 선택합니다. 마지막으로 이미지 contentMode에서 늘어나게될 영역이..

iOS & swift 2023. 2. 10. 00:32
UILabel Text 자간 수정하기 (extension UILabel, character spacing)

이렇게 디자이너가 -3%의 수치로 자간을 줬을때, code로 UILabel의 자간을 수정하는 방법입니다. 디자이너입장에서 이런 디테일을 아주 중요시 하기때문에 개발자의 눈에는 별 차이가 없더라도 그냥 넘어갈 수 없습니다~ self.font.pointSize 로 UILabel마다 다른 font 사이즈에 접근해줄 수 있어요. (default는 -3%) extension UILabel { func addCharacterSpacing(_ value: Double = -0.03) { let kernValue = self.font.pointSize * CGFloat(value) guard let text = text, !text.isEmpty else { return } let string = NSMutableAt..

iOS & swift 2022. 8. 16. 19:39
TableView 내부에 CollectionView 넣기 (xib)

소셜커머스에서 자주 보이는 디자인인 TableView 내부에 가로 스크롤의 CollectionView Layout을 만들어 보겠습니다. 한마디로 요약하자면 tableViewCell에 horizotal collectionView를 넣어주면 됩니다. collectionView에는 당연히 collectionViewCell을 넣구요.. 먼저 UI 부터 보면 우선 tableView에 2개의 콜렉션 뷰를 넣어주었습니다. 하나는 1xN 가로 콜렉션뷰이고 하나는 2xN 세로 콜렉션뷰를 넣어주었습니다. 우선 저는 xib로 각각의 콜렉션뷰 선언해주었고, 하나의 테이블뷰에 2개의 콜렉션뷰셀 Nib와 셀ID를 등록하여 연결해주었습니다. cell을 register을 해주고, cellForRow로 cell을 row에 따라 cel..

iOS & swift 2022. 4. 10. 18:59
[RxSwift] dismiss 될 때 data 전달

modal 형태의 secondVC에서 값을 받아 dismiss 될 때, firstVC에서 secondVC의 data를 사용하는 방법입니다. (RxSwift 를 사용하여..)  예제로 만들어서 설명하겠습니다. secondVC에만 존재하는 jh 라는 데이터를 firstVC로 넘겨주고 싶어요.  그럼 이렇게 가능 합니다. 1. secondVC에서 dismiss되기 전 넘겨주고 싶은 데이터를 secondVC에 존재하는 서브젝트(secondVC의 viewModel)에 쏴주기  2. firstVC의 prepare에서 secondVC에 존재하는 Subject(secondVC의 viewModel)를 구독하여 데이터 넘겨 받기  우선 첫번째 VC입니다. 이렇게 생겼어요.   모달띄우기 버튼을 누르면 secondVC가 m..

iOS & swift 2021. 12. 15. 23:09
[swiftUI] RequestAPI로 data 가져와서 list에 뿌려주기

News의 api data를 parsing하여 SwiftUI list에 뿌려주기! 를 해볼건데, 기존 Swift에는 없는 SwiftUI만의 바인딩 특성을 사용하여 데이터를 뿌려보겠습니다. https://newsapi.org/ 의 뉴스 api로 작업해보겠습니다. SwiftUI에서는 내장되어있는 combine이라는 언어의 observableObject를 사용하여 fetch한 data를 뿌려주는 방법입니다. 소스코드는 맨밑에 깃헙주소있어요 data를 가져오는 RequestAPI를 구현합니다. import Foundation class RequestAPI { static let shared = RequestAPI() private init() { } private let apiKey = Bundle.main.o..

iOS & swift 2021. 10. 31. 20:11
gitignore xcconfig ( api key가 git에 추가되지 않도록 하기)

api key를 git에 노출시키지 않도록 하는 방법입니다. 1. api key를 config에 담아주고2. config파일을 gitignore추가하여 git에 업로드 되지 않도록 합니다. 우선 1. api key를 config에 따로 빼기입니다. config 파일을 생성해줍니다. 저는 Secrets으로 이름을 지어줬습니다.파일 위치는 root 바로 밑에 위치시켜줍니다. 그러고 내부에 Secrets.xcconfig 내부에 API_KEY = ~~ 작성해줍니다. 이렇게 뒤에 api key를 적어주고, Secrets.xcconfig 파일을 사용할 수 있도록 Project Info에 Secrets 파일을 추가합니다. Configurations > Debug, Release에 Secrets를 추..

iOS & swift 2021. 10. 27. 04:23
이전 1 2 3 4 5 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • rag기반 ai
  • 레디세이
  • 엔디소프트 레이세이
  • rag 예제
  • ios gitignore
  • swift filemanager excel
  • swift get excel
  • 비동기 페이징 swift
  • llm csv
  • rag ai
  • swift excel read
  • swift git ignore
  • llm rag
  • swift filemanager get excel
  • rag기반 챗봇
  • swift 엑셀 가져오기
  • rag llm pdf
  • filemanager excel read
  • rag 기반 llm
  • swift 엑셀 읽기
  • 공부 타이머 어플
  • 비동기 리스트 swift
  • chatgpt rag llm
  • 레디세이 어플
  • readysay
  • llm pdf rag
  • swift 자간
  • concurrency pagination
  • rag 챗봇
  • rag 생성형 ai
more
«   2025/12   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바