일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Operators
- NullObject
- @Environment
- @EnvironmentObject
- subject
- ios14
- @Binding
- Creating Operators
- typeorm
- nestjs
- operator
- SwiftUI 화면 갱신
- Bug
- vim
- init
- dismiss
- SwiftUI
- Operater
- RxCocoa
- @State
- RxSwift
- RFC1738/1808
- IOS
- init?
- SWIFT
- @ObservedObject
- NavigationLink
- graphql
- Xcode
- URL(string:)
- Today
- Total
목록Development/iOS 개발 (56)
Tunko Development Diary
아래 링크를 보시면 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())
swift-evolution/0068-universal-self.md at master · apple/swift-evolution Self 는 원래 자기 자신의 동적 클래스 (dynamic class) 를 가리키는 키워드 입니다. class MyClass { class var name: String { return "unknown name" } func show() { print("My name is \\(MyClass.name)") } } class AnotherClass: MyClass { override class var name: String { return "another name" } } let obj = AnotherClass() obj.show() // "unknown name" 이 상황에..