일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UICollectionView
- 스위프트
- Human interface guide
- uitableview
- RxCocoa
- Protocol
- ios
- collectionview
- ribs
- map
- rxswift
- uiscrollview
- 리팩토링
- 리펙터링
- tableView
- 리펙토링
- combine
- Observable
- swiftUI
- Clean Code
- 애니메이션
- SWIFT
- UITextView
- Xcode
- MVVM
- swift documentation
- clean architecture
- Refactoring
- 클린 코드
- HIG
- Today
- Total
목록ios (1095)
김종권의 iOS 앱 개발 알아가기
cf) collectionView를 이용한 수평 스크롤 뷰: https://ios-development.tistory.com/632 [iOS - swift] CollectionView(컬렉션 뷰) - 수평 스크롤 뷰 (UICollectionViewFlowLayout) 1. custom layout이 아닌 UICollectionViewFlowLayout 사용한 방법 2. UICollectionViewFlowLayout을 이용한 CarouselView (수평 스크롤 뷰) 3. custom layout을 이용한 UICollectionView CollectionView에 사용.. ios-development.tistory.com 구성 ScrollView 안에 StackView 추가 StackView안에 Butt..
Error Handling 개념: 프로그램의 오류 조건에 응답하고 복구하는 프로세스 Swift에서는 런타임에 복구 가능한 오류를 다음 방법으로 처리 throwing, catching, propagating, manipulating Throwing Error (에러 던지기) Swift에서의 오류는 Error protocol을 conform하는 값으로 정의 enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock } Error Handling 함수에서 오류가 발생하면 프로그램의 흐름이 변경되므로 코드에서 오류가 발생할 수 있는 위치를 빠르게 식별해야 하는데, 이 ..
Optional Chaining 정의: Optional인 것들을 가지고 property나 method, subscript를 쿼리하고 호출하는 프로세스 optional값 중 하나가 nil이 되면 nil반환, 단 중단되는게 아닌 해당부분만 nil반환 let someOptoinalProperty: SomeProperty? = nil print("start") // start print(someOptoinalProperty?.value) // nil print("end") // end Forced Unwrapping의 대안으로 Optional Chaining 사용 런타임 오류에 예방 let roomCount = john.residence!.numberOfRooms if let roomCount = john.re..
iCloud iCloud는 사람들이 명시적 동기화를 수행하지 않고도 모든 기기에서 사진, 비디오, 문서등의 컨텐츠에 접근할 수 있도록 하는 서비스 iCloud의 기본적인 측면은 투명성: 사용자는 콘텐츠가 어디에 있는지 알 필요가 없고 항상 최신 버전에 액세스하는 있는 경험 제공 iCloud로 앱을 쉽게 사용 가능 사용자들은 설정에서 iCloud를 활성화하고 앱이 자동으로 작동하기를 기대 만약 iCloud를 사용할지 여부를 선택하고 싶어할 것 같다면 앱을 처음 열때 모든 데이터에 iCloud를 사용할지 여부를 선택할 수 있는 옵션을 표출 iCloud에 보관할 문서를 묻는 방향보다는 자동으로 보관을 지향: 대부분의 사용자들은 개인 콘텐츠를 iCloud에서 사용할 수 있기를 기대하고, storage 자체를 관..
Deinitialization deinitializer는 클래스 인스턴스가 해제되기 직전에 호출되며 직접 호출 불가능 deinit 키워드 class type에서만 사용 deinit deinit이 호출될 때까지 instance 메모리가 해제되지 않기 때문에 deinit안에서 호출된 인스턴스의 모든 속성에 접근 가능 deinit 사용 예시 Player클래스는 게임에서 플레이어를 안내하고, 각 플레이어는 지갑에 일정 수의 동전을 보관하는 상태이고 이 동전은 coinsInPurse로 정의 은행에서 coin의 허용량이 정해져있다면, 각 플레이어가 coin을 사용하고 게임이 끝난 경우 Bank에 coin을 반납하는 프로그램 class Player { var coinsInPurse: Int init(coins: I..
CarPlay 자동차의 내장 디스플레이에 나타나는 iPhone앱은 운전 환경에 최적화 최고의 앱은 간단한 상호작용을 지원하며 운전자의 주의를 끌지 않는 앱 화면상의 정보는 최소화 의사 결정이 거의 필요하지 않는 것 운전대에서 손을 떼거나 눈을 떼지 않고도 많은 앱을 제어 가능 지도, 메시지, 음악 및 전화와 같은 iPhone앱은 CarPlay에서 멋지게 보이고 운전 중에 조작하기 쉬운 차량에 적합한 인터페이스 표출 Audio App (오디오 앱) 오디오 콘텐츠(오디오 북, 라디오, 팟 캐스트)를 제공하는 앱은 차량의 내장 디스플레이를 통해 해당 컨텐츠를 표출 CarPlay 개발자 지침, Media Player 데이터를 사용할 수 없는 경우에도 항상 콘텐츠를 제공: 드라이버는 때때로 네트워크 수신 불량을 ..
Business Chat Business Chat은 고객이 iOS, macOS, watchOS, iPadOS의 메시지 앱을 통해 비즈니스와 연결할 수 있도록 도와주는 기능 메시지 앱을 사용하여 회사에 연락, 질문, 지원, 약속, 예약, Apple Pay 결제 등의 작업 수행이 가능 iPhone, iPad, Mac, Apple Watch의 친숙한 메시지 앱 인터페이스는 고객 상호 작용이 직관적이고 효율적임을 보장 채팅의 비공식 성은 개인적이고 의미있는 고객 서비스 경험을 제공 Business Chat 개발자 지침 Interaction Apple Pay 결제 요청: 제품 또는 서비스에 대한 결제를 수집 iMessage Apps: 대화 중에 앱 표출 Rich links: 대화 내에서 이미지 또는 비디오를 표출..