안녕하세요 :) Zedd입니다. 큭ㅋㅋㅋㄱ킄ㄱㅋㅋㅋㅋㅋㄱ크킄ㅋㄱㅋㅋㅎㅎㅎㅎ 추석...그저 빛.. 공부해보고 싶은 것들이 많은데..이번 연휴에 할 수 있는데까지 차근차근 해볼려고 합니다 🤧 # Bundle executable code와 해당 코드에서 사용하는 리소스를 보유하는 표준화된 계층 구조를 가진 디렉토리 조금 더 풀어서 말하면, 디스크의 Bundle Directory에 저장된 1. executable code 2. images, sound, nib 파일과 같은 리소스 3. info.plist 의 표현(representation) - 대부분의 Xcode Project들은 빌드할 때 Bundle을 생성. (직접 Bundle을 생성하는 일은 거의 없음) - 각 Application에는 main bundl..
안녕하세요 :) Zedd입니다. 제가 SwiftUI, iOS 15+ ) onAppear()대신 task() 글을 쓰다가 문득 든 생각들을 정리해보려고 합니다 # 예제 let url = "https://zeddios.tistory.com" let (data, _) = try ✅ await ✅ URLSession.shared.data(from: URL(string: url)!) let str = String(data: data, encoding: .utf8)!.suffix(50) DispatchQueue.main.async { self.htmls.append(String(str)) } SwiftUI, iOS 15+ ) onAppear()대신 task() 글에서 사용한 예제 중 ViewModel 일부 코드인데..
안녕하세요 :) Zedd입니다. iOS15에서 SwiftUI에 이것저것 많이 나왔는데, 그중 반가운게 하나 있더라구요~ SwiftUI에서 네트워크 요청을 해야할 때 요청을 시작하는 부분이..대부분 onAppear였는데요. var body: some View { List { ForEach(self.viewModel.names, id: \.self) { name in Text(name) } } .onAppear { self.viewModel.requestNames() ✅ } } iOS 15에서 task modifier가 나왔습니다! # task 정의는 view가 나타날 때(view appears) 수행할 비동기 작업을 추가합니다. 즉 네트워크 요청을 넣기 딱 좋은 위치가 된겁니다! var body: some..
📖 Actor (1) 읽으러가기 📚 Actor (2) 읽으러가기 안녕하세요 :) Zedd입니다. Actor (2) - Actor isolation 글에서 Actor isolation을 공부해봤는데요. 오늘은 isolated parameter / nonisolated keyword에 대해서 공부해보겠습니다. 반드시 Actor (2) - Actor isolation 글을 읽고와주세요. # 한계 Actor (2) - Actor isolation 글에서 BankAccount Actor를 정의했었습니다. (extension에 있던 Transfer메소드는 제외하고 보도록하죠) actor BankAccount { let accountNumber: Int var balance: Double init(accountNum..
📖 Actor (1) 읽으러가기 # Actor 특징 복습 📝 - Actor는 그냥 Swift의 새로운 타입임. 클래스와 가장 유사. - Swift의 다른 모든 타입들과 똑같이 프로퍼티, 메소드, 이니셜라이저, subscripts 등을 가질 수 있음. - 프로토콜 준수, Extension 역시 쌉가능 - 참조타입 like class - 클래스와 달리 Actor는 한번에 하나의 작업만 변경 가능한 상태(mutable state)에 접근할 수 있도록 허용. - 클래스와 달리 상속을 지원하지 않음. # Actor isolation 우리가 사실 immutable state면 Actor를 쓸 필요도 없잖아요? 근데 지금 (Shared) mutable state여서 지금 문제가 발생할 여지가 있는거ㅇㅇ 그래서 우리가..
안녕하세요 :) Zedd입니다. WWDC 21 ) What‘s new in Swift 에서도 잠깐 본 내용인데, Actor에 대해서 공부. # 다중 쓰레드 시스템에서 제대로 작동하지 않는 코드 WWDC 21 ) What‘s new in Swift 에서 본 예제. class Counter { var count: Int = 0 func increment() { self.count += 1 } } 이런 Counter가 있고, let counter = Counter() // global DispatchQueue.global().async { counter.increment() } // main counter.increment() 이렇게 각기 다른 스레드에서 increment를 호출하면, 대충 이런 경고를 받을 ..
안녕하세요 :) Zedd입니다. iOS 15에서 listRowSeparator가 드디어^^...나왔다길래 ^^... SwiftUI에서 Separator없애려면 .onAppear { UITableView.appearance().separatorStyle = .none } .onDisappear { UITableView.appearance().separatorStyle = .singleLine } 뭐 이런 짓을 해야한다고 해서 정말 믿기지가 않았거든요.. Separator없애려고 UITableView.appearance()까지 가는건 오바같아서 하지는 않았읍니다.. 이제부터 소개할 modifier들은 iOS 15이상에서만 가능하다는 사실 ^^.. OS분기도 짜증나는데 iOS 버전 분기까지 해야하는 상황 OT..
- Combine
- Swift
- swift array
- 스위프트 문법
- iOS delegate
- 피아노
- 회고
- fastlane
- WKWebView
- Accessibility
- 스위프트
- FLUTTER
- np-hard
- WidgetKit
- Xcode
- swift tutorial
- swift sort
- actor
- ios 13
- SwiftUI
- swift 공부
- Git
- github
- IOS
- WWDC
- swift3
- UIBezierPath
- swift delegate
- np-complete
- 제이슨 파싱
- Total
- Today
- Yesterday