일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스위프트
- RxCocoa
- 리팩토링
- ribs
- MVVM
- Human interface guide
- map
- UICollectionView
- swift documentation
- 클린 코드
- Observable
- UITextView
- rxswift
- 리펙토링
- swiftUI
- combine
- Xcode
- Refactoring
- clean architecture
- 애니메이션
- SWIFT
- Protocol
- uiscrollview
- tableView
- 리펙터링
- ios
- HIG
- collectionview
- Clean Code
- uitableview
- Today
- Total
목록분류 전체보기 (1634)
김종권의 iOS 앱 개발 알아가기
Side bar UI 진화 (TabView)iOS 18.0에서는 사이드바에서 특정 버튼을 누르면 상단으로 메뉴가 이동됨또 사용자가 항목을 재정렬 할 수 있는 기능이 추가됨사용자가 자주 사용하는 옵션과 사용하지 않는 옵션을 원하는데로 커스터마이징 할 수 있게 제공Side Bar 상단 메뉴 전환 옵션 적용 방법TabView로 감싸진 코드에, tabViewStyle(.sidebarAdaptable)를 사용탭 재정렬 및 제거와 같은 옵션 적용 방법tabViewCustomization() 사용(이렇게 적용하면 macOS, tvOS에서도 자연스럽게 적용됨)tvOS에서 적용된 모습macOS에 적용된 모습* 이 밖의 tabView에 관한 구체적인 내용은 WWDC24 Improve your tab and sideba..
Explicit Modules단 한줄의 코드도 변경하지 않고 빌드 향상이 가능더 빠른 디버깅 제공C와 Objective-C의 경우에는 Explicit Modules 기능이 디폴트로 on 되어있고, Swift는 build setting에서 설정 필요Explicit Modules 컴파일 단계explicit built modules를 yes로하면 각 컴파일 단위의 처리를 3단계로 처리ScanBuild ModulesBuild SourceScan단계와 Build Modules 단계는 빌드 로그에서 표시된 것을 확인 가능"Scan Dependency", "Compile Clang module", "Compile Swift module" 커멘드로 표출이전에는 원래 이 단계들이 소스 파일 컴파일의 일부로, 암시적으로 ..
Code Completion (자동완성)Copilot과 유사하게 자동완성 기능을 제공빌드세팅 - Isolated Global Variables전역변수는 Concurrency에서 안전하지 않다는 warning 표출해주는 옵션위 옵션을 키고 빌드 시 warning 확인 가능간편한 프리뷰 - @Previewable아래와 같은 RobotFaceSelectorView를 프리뷰 사용할 때 currentFace에 관한 바인딩이 필요한 상황기존에는 위 뷰를 preview하려면 wrapper view를 만들어서 currentFace를 바인딩시켜야함ex) 기존 방법struct Simple_Previews: PreviewProvider { struct ContainerView: View { @State ..
Swift 저장소Swift의 레포는 원격 저장소는 github을 사용하고 있으며, 기존에는 github.com/apple/* 형태로 관리되고 있었음대표적인 swift github주소: https://github.com/apple/swift이제 swift는 github.com/swiftlang 주소로 이전될 것곧 마이그레이션을 시작할 예정이며 자세한 내용은 Swift.org에 게시 https://github.com/swiftlangSwift 언어 업데이트 - 1) Noncopyable types (~Copyable)swift에서 value타입이나 reference타입이나 모두 복사가 가능Noncopyable types는 이 기본 복사 가능성을 막아주는 역할고유한 소유권을 표현하고자 할 때 적합한 키워드만약..
이번 WWDC 세션의 의미Swift언어가 어떻게 발전하며 앞으로도 어떤 패러다임을 가지고 발전할 것인가를 이해할 수 있는 세션2024년 Swift의 핵심 패러다임: 다른 플랫폼과의 상호운용성Swift 언어의 진화2014년에 Swift1.0부터 2024년에 Swift6.0이 나오는데, 2023년까지는 전반적으로 다른 언어와 어울릴 수 있는 기반을 다루도록 진화특히 2023년에는 C++과의 상호 운용성을 도입SwiftData와 같이 차세대 API를 활성화하는 매크로도 도입애플의 Swift팀 구성2024년에 새로 생긴팀: Plaform, Ecosystem, Embeddedplatform: Swift를 더 많은 곳으로 가져오는데 집중하기 위한 플랫폼 운영팀Ecosystem: 개발자 경험과 새로운 생태계 그룹을 ..
* SwiftUI Sample 앱 살펴보기 전체 목차는 여기 참고TabView 개념SwiftUI에서의 TabView는 선언적으로 매우 직관적으로 사용이 가능Text 밑에 TabView를 표현하고 싶은 경우?아래 코드에 TabView 블록을 추가struct ContentView: View { var body: some View { Text("Hello, world!") .padding() }}(TabView 추가)struct ContentView: View { var body: some View { Text("Hello, world!") .padding() TabView { // 이제 화면 A, B, C 뷰를 넣고 싶은 경우, 차례로 연달아서 넣기struct Cont..
1. Navigation AppAbout Me, TabView 살펴보기Choose Your Own Story 살펴보기Date Planner 살펴보기 2. Presenting ContentOrganizing with GridsEditing GridsImage GalleryLaying Out Views3. Retrieving Content from a ServerMeme Creator4. Responding to User InputBubble LevelSeismometerRecognizing GesturesAnimating Shapes * 참고- https://developer.apple.com/tutorials/sample-apps/aboutme
UITableViewCell과 UICollectionViewCellUITableViewCell과 UICollectionViewCell은 각각 반복되는 여러 데이터를 화면에 보이는 지점만 렌더링하여(cellForRowAt, cellForItemAt) 효율적으로 뷰를 그릴 수 있는 인터페이스UITableViewCellUICollectionViewCell각 커스텀 셀을 구현할 때 비슷한 구조를 가지고 있음ex) tableViewCell 구현class CustomTableViewCell: UITableViewCell { let titleLabel = UILabel() override init(style: UITableViewCell.CellStyle, reuseIdentifier: String..