일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios14
- SWIFT
- Bug
- RFC1738/1808
- Creating Operators
- vim
- NullObject
- Operater
- init
- Operators
- NavigationLink
- @EnvironmentObject
- nonisolated
- IOS
- dismiss
- operator
- graphql
- @Environment
- RxCocoa
- init?
- @State
- URL(string:)
- RxSwift
- swift6
- SwiftUI
- @Binding
- subject
- typeorm
- nestjs
- Xcode
- Today
- Total
목록Development/iOS 개발 (57)
Tunko Development Diary
Swift6 데이터 레이스데이터 경쟁은 한 스레드가 메모리에 접근하는 동안 다른 스레드가 동일한 메모리를 변경할 때 발생합니다. Swift 6 언어 모드는 컴파일 시점에 데이터 경쟁을 감지하고 방지하여 이러한 문제를 해결합니다. Swift에서 사용하는 async/await와 actor는 다른 언어의 유사한 기능들과 표면적으로 비슷해 보입니다. 하지만 내부 동작 방식이나 사용 방법에 중요한 차이가 있을 수 있으므로 혼동하지 않도록 주의해야 합니다. Data IsolationSwift의 동시성 시스템은 컴파일러가 모든 가변 상태의 안정성을 이해하고 검증할 수 있도록 합니다. 이는 데이터 격리라는 메커니즘을 통해 이루어집니다. 데이터 격리는 가변 상태에 대한 상호 배타적 접근을 보장합니다. 이는 개념적으로 잠..
아래 링크를 보시면 RFC 1738/1808 → RFC 3986 로 업데이트 되었다고 합니다. init(string:) | Apple Developer Documentation RFC (Request for Comments)는 인터넷 연구 및 개발 커뮤니티에서 인터넷 표준과 관련된 문서의 시리즈입니다. 각 RFC는 번호가 부여되며, 특정 주제나 프로토콜에 대한 정보와 규격을 담고 있습니다. struct TestUrl { let testURL = "https://tistory.com" let testURL2 = "https:// tistory.com" init() { if #available(iOS 17.0, *) { var url_iOS17 = URL(string: testURL) print("iOS17..
Build Clean(⌘ + ⇧ + K) 을 사용해도 알 수 없는 코드상 에러가 남아있고 프로젝트 빌드는 잘될 때 사용할 방법입니다. xcode → Settings → Locations xcode를 종료합니다. DerivedData 폴더에 원하는 프로젝트파일을 삭제합니다. 프로젝트 실행
Property Wrappers는 Swift5 에서 사용할 수 있는 기능중 하나입니다. 코드를 줄이고 보기 좋게 만드는데 매우 유용합니다. propertyWrapper란? Swift 문서에 따르면 속성 래퍼는 속성이 저장되는 방식을 관리하는 코드와 속성을 정의하는 코드 사이에 분리 계층을 추가 합니다. 이렇게만 쓰여있으면 사실 이해하기 힘듭니다. 그래서 UserDefaults 를 예시로 들어보겠습니다. extension UserDefaults { public enum Keys { static let email = "email" } var email: String { set { set(newValue, forKey: Keys.email) } get { return String(Keys.email) } } ..
NavigationLink 를 통해 다른 뷰로 이동시 기본적으로 해당 뷰를 버튼 처럼 터치할 수 있게 됩니다. 이때 에니메이션이 동작하지 않도록 하는 방법입니다. import SwiftUI struct EmpeyActionStyle: ButtonStyle { func makeBody(configuration: Configuration) -> some View { configuration.label } } 사용시 NavigationLink { Text("Next View") } label: { Text("Button") } .buttonStyle(EmpeyActionStyle())