목록전체 글 (29)
써니쿠키의 IOS 개발일기

Singleton Pattern을 복습하기 위해 간단한 예제를 만들어보았다. 화면 전환 시 View Life Cycle과 관련된 메서드도 이용되었다. (전체 코드는 제일 하단에) 싱글톤을 이용해서 두 VC에서 같은 value를 공유하도록 하였다. 버튼 재고추가페이지로 이동클릭 후 모달 화면에서 +10 버튼을 클릭하면 stock이 10씩 추가되도록 하였다. 1. 싱글턴 패턴 이용 싱글턴 패턴을 활용해 두 View Controller 가 하나의 정보를 공유하도록 하기 1. PointManager 클래스를 싱글턴으로 만들기 class 내부에 private init()을 구현하고 static을 이용해 타입프로퍼티인 sharedStockManager에 인스턴스화 해 놓으면 sharedStockManager 외에는..

KVO로 구현한 데 이어서 같은 화면 내용을 노티피케이션센터를 이용해서 만들어보았다 텍스트필드에 내용을 적은 후 등록버튼을 누르면 밑에 있는 텍스트뷰에 똑같은 내용을 띄우는 코드이다. ( 보통 알림을 주는곳과 Observer가 서로 다른 타입에 만들어지지만 여기서는 ViewController Class 안에 모든걸 구현해보았다 ) 노티피케이션 센터 구현은 아래 네가지를 차근차근 구현하면된다. POST: 노티피케이션센터에서 값 전달하기 Observer 등록하기 Observer가 실행할 함수 만들기 Observer 제거하기 1. POST : 노티피케이션센터에서 값 전달하기 func notificate(writedThing: String) { NotificationCenter.default.post(name:..

KVO 구현하기 오늘은 KVO 예제를 만들어보았다 텍스트필드에 내용을 적은 후 등록버튼을 누르면 밑에 있는 텍스트뷰에 똑같은 내용을 띄우는 코드이다. 1. 트랙킹 할 정보 지정하기 class Writhing: NSObject { @objc dynamic var writedThing: String init(writedThing: String) { self.writedThing = writedThing } 트랙킹 할 변수가 담겨있는 타입은 상속을 위해 Writing을 class타입으로 구현해줘야한다. class에서 NSObject를 상속받는다. 트랙킹 할 writedThing 프로퍼티에 @objc attribute와 dynamic modifier 를 부여한다. (프로퍼티에 기본값이 없어서 init코드도 만들..

✔️ AutoLayout ?? 오토레이아웃은 뷰의 크기와 위치를 제약(constraints)을 기반으로 결정하는 것이다. 내부/외부적요인으로 뷰가 유동적으로 변하기 때문에 오토레이아웃을 사용한 UI를 구성하면 변동에 대응이 가능하다. ✔️ Anatomy of a Constraint 1. 제약조건의 구성 ( y = mx + c ) 실제로 이런 식을 직접 코드로 작성하거나 구성할 일은 없지만 제약을 이해하기 위해 살펴보면 좋다. 위의 식을 해석하면 보면 Red View의 Leading(=Left) 은 Blue View의 trailing(=Right)로부터 1배로 8.0 떨어져있다고 제약을 준 것이다. 이런 제약을 주면 blueView를 움직이면 8의 거리를 둔 체 RedView가 따라다니게 된다. 2. At..