일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Human interface guide
- 스위프트
- 클린 코드
- 애니메이션
- SWIFT
- ios
- MVVM
- map
- 리펙터링
- UITextView
- Refactoring
- swift documentation
- combine
- Xcode
- RxCocoa
- 리펙토링
- swiftUI
- Clean Code
- clean architecture
- ribs
- rxswift
- uitableview
- uiscrollview
- Protocol
- UICollectionView
- 리팩토링
- collectionview
- HIG
- Observable
- tableView
- Today
- Total
목록iOS 실전 (swift) (51)
김종권의 iOS 앱 개발 알아가기
Storyboard객체 참조를 얻어서, 그 안에서 ViewController를 생성 "두 번째 화면"의 .swift구성 // // VC2.swift // TTTTT // // Created by 김종권 on 2020/11/08. // import Foundation import UIKit class VC2: UIViewController { let storyboardName = "Main" let storyboardID = "VC2" } 다시, 스토리보드에서 Class와 Storyboard ID입력 첫 번째 ViewController에서 Storyboard를 가지고 화면 초기화 storyboard객체를 storyboardName을 가지고 탐색 storyboard안에 기입한 storyboardID를 가지고..
MVVM에서 RxSwift와 computed property 활용한 방법 안좋은 방법의 예시 ViewModel에서 UIKit접근하는 형태 toogle변수를 아래와같이 따로 두지 않고, BehaviorRelay하나로 해결가능 // View Model let updateImage = PublishRelay() var selectedAppleButton: Bool = true { willSet(newValue) { if newValue { updateImage.setImage(UIImage(named: "slectpoint"), for: .normal) } else { updateImage.setImage(UIImage(named: "slectedpoint"), for: .normal) } } } func t..
@propertyWrapper란? @propertyWrapper: 프로퍼티를 한번 감쌓아서 get, set을 wrapping 사용할땐 struct이름 어노테이션으로 접근 예시1) @propertyWrapper를 통해서 항상 10보다 작은 값을 유지하는 property 만드는 방법 TenOrLess라는 wrapper를 통해 10이하의 수만 리턴되도록 하는 변수 정의 @TenOrLess var value: Int value = 12 print(value) // 10 어노테이션으로 접근할 struct의 이름 위 @propertyWrapper 기입 @propertyWrapper struct TenOrLess { // wrappedValue 정의 } var wrappedValue라는 이름의 computed-pro..
for에서 나온 데이터 값을 바로 if문 사용하는 경우 (아래) for data in mandatoryData { if data.isAccept == false { isAcceptAllMandatoryTerms.accept(false) return } } 아래와 같이 간결하게 표현 for data in mandatoryData where data.isAccept == false { isAcceptAllMandatoryTerms.accept(false) return }
xib, nib란? Xml Interface Builder: 플랫파일(아무런 구조적 상호관계각 없는 레코드들이 들어 있는 파일) -> nib와 기능적으로 동일 Next Interface Builder: nib는 바이너리 파일 즉, xlb를 nib로 바꾼 후 bundle(실행할 때 같이 실행되는 파일)에 올리는 것 바이너리 파일들을 xcode에서 관리하기 힘들기 때문에 xlb로 먼저 저장 custom cell 생성 배치 및 IBOutet생성 bind함수 정의 bind함수 정의 이유: 추후에 tableView의 델리게이트 함수에서 cell을 만든 후, dataSource에 관한 값을 cell에 입력할 때 아래와 같이 이용 func tableView(_ tableView: UITableView, cellFor..
코어 데이터에서 검색바와 조건문을 활용할 것, 코어 데이터 개념 : ios-development.tistory.com/93 1. UISearchBar - 테이블 뷰와 함께 사용하여 특정 내용만 필터링하는 데에 이용되는 객체 1) 주로 사용되는 메소드 메소드명 내용 SearchBar(_:textDidChange:) 사용자가 검색바의 텍스트를 변경했을 때 호출 SearchBar(_:shouldChangeTexttIn:) 지정된 범위의 값을 주어진 문자열로 대체할지 여부 결정하기 위해 호출 SearchBarShouldBeginEditing(_:) 검색 바에서 편집을 시작했을 때 호출 SearchBarTextDidBeginEditing(_:) 텍스트 편집을 시작했을 때 호출 SearchBarShouldEndEd..
* 기본개념은 링크 참고 ios-development.tistory.com/92 [iOS - swift] 12. 코어 데이터(Core Data)의 개념 - (2) 기초 개념은 다음 링크 참조 : 11. 코어 데이터(Core Data)의 개념 - (1) [iOS - swift] 12. 코어 데이터(Core Data)의 개념 - (1) * Core Data는 DataBase가 아님 ( Core Data는 ORM 매핑 프레임워크가 맞는 의미.. ios-development.tistory.com 1. 코어 데이터 추가(처음 프로젝트 생성시 "Core Data"체크) 2. Entity, Attributes, Relationships 정의 1) "Board", "Log" 엔터티와, Attributes, Relati..
기초 개념은 다음 링크 참조 : 11. 코어 데이터(Core Data)의 개념 - (1) [iOS - swift] 12. 코어 데이터(Core Data)의 개념 - (1) * Core Data는 DataBase가 아님 ( Core Data는 ORM 매핑 프레임워크가 맞는 의미, 데이터 저장에 관한 일종의 프레임워크 ) 1. Core Data란? 1) In-Memory 방식 : 사용 하려는 모든 데이터는 우선 메모리에 로딩되.. ios-development.tistory.com 1. MO모델을 위한 엔터티 설정 1) 엔터티(데이터 저장 구조) 정의 : 레코드 단위의 데이터를 관리객체(Managed Object)로 만들기 위한 기본 모델 역할 담당 * AppDelegate.swfit에 코드가 추가된것을 확인..