
User Notification Framework 사용자의 디바이스에 앱의 알림을 표시하는 기능이 담긴 프레임워크 알림과 함께 소리를 재생할 수 있고, 뱃지를 지정할 수 있음. 알림이 표시되기 위해서는 반드시 사용자가 권한을 허용해야함. 이런 화면을 본 적이 있을텐데, 여기서 허용하지않으면 알림이 뜨지 않음. 서버와 앱 내부에서 알림을 전달할 수 있음 -> Local Notificatioin과 Remote Notification Local Notification 앱 내부에서 디바이스에 알림을 전달하는 방법 서버에서 알림을 생성해서 만드는 것이 아니기때문에 보통 비슷한 시간에 비슷한 내용으로 알림이 전달됨. 예) 매일 저녁 9시에 일기를 쓰라는 알림. 무료 개발자 계정에서도 구현 가능. Remote Not..

Protocol(프로토콜) 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진 -> 규칙이라고 생각했음. Delegate Pattern을 구현하기 위해 이용됨. -> 특정 컨트롤에서 발생하는 이벤트를 효율적으로 관리하기 위해 대리자에게 위임하고, 실제 이벤트 발생 시에 대리자가 콜백 메서드를 호출해줌. -> 테이블뷰를 이용할때도 delegate를 이용했었음. tableView.delegate = self를 이용해 뷰컨트롤러에게 위임한 것임. 프로토콜은 정의만하고 제시할뿐이지 실질적인 기능 구현은 채택한 클래스, 열거형 등에서 이루어져야함. 프로토콜 메서드 중괄호를 사용할 수 없고 메서드의 이름, 매개변수와 반환타입까지만 작성해야함. 이때 매개변수의 기본값을 지정할 수 없음. 타입 메서드..

Property Obsever 저장 프로퍼티에서 사용되며 프로퍼티의 값을 관찰하다가 변경되었을때 호출됨. -> 이전에 다마고치에서 썼던 NotificationCenter의 옵저버랑 비슷한 느낌인 것 같은데.. 연산 프로퍼티처럼 사용하는데 get, set대신 willSet과 didSet을 사용. willSet -> 값이 바뀌기 직전에 호출 didSet -> 값이 바뀐 직후에 호출 연산 프로퍼티에서 set에 newValue를 이용했던 것처럼 여기서도 이용가능. -> didSet에서는 바뀌기 전 값인 oldValue도 사용가능. 구조체 내에서 자기자신의 프로퍼티를 바꾸는 경우엔 mutating작성해야함. 구조체, 열거형같은 값 타입의 프로퍼티들은 인스턴스 메서드로 값이 바뀔 수 없음. -> mutating을 ..

인스턴스 프로퍼티 vs 타입 프로퍼티 구조체, 클래스의 타입에 대해 인스턴스가 생성되었을때 사용이 가능한 것을 인스턴스 프로퍼티 인스턴스 프로퍼티는 인스턴스별로 다른 값을 가질 수 있음. 하지만 타입 프로퍼티는 타입 자체에 속하는 프로퍼티로, 인스턴스가 아무리 많아도 값은 하나. -> 즉, 인스턴스와 무관. 저장 프로퍼티 주로 값을 저장하기 위한 목적으로 클래스나 구조체 내에서 정의된 변수나 상수 열거형은 인스턴스를 생성할 수 없으므로 저장 프로퍼티를 가질 수 없음. 클래스의 경우, 반드시 프로퍼티에 값을 초기화해야함. 지연 저장 프로퍼티 인스턴스가 생성되어도 호출하지않는다면 초기화되지않음. lazy를 이용해 선언하는데 반드시 var여야함. 타입 저장 프로퍼티 저장 프로퍼티를 static을 붙여서 선언하..

키보드에 뷰 가려지는 현상 어제 NotificationCenter를 이용해 키보드가 올라오는 것을 감지하여 뷰를 올려주어서 해결했음. 근데 addObserver만 하고 빌드를 해보니 이후의 다른 화면에서도 키보드가 올라가면 선언해준 함수가 실행됐음. 검색해보니 removeObserver를 호출하여 더 이상 이벤트를 받지 않도록 해야했음. 메인화면에서만 필요했으므로 메인화면이 나타날때 addObserver를 하고, 사라지기 전에 removeObserver를 하기로함. Xcode 단축키 -> 따로 정리 .app 번들 파일 만들기 일단 앱 번들 파일을 저장하기 전에 빌드가 되어있어야함. 빌드를 했다면 File - Project Setting에서 아래의 버튼을 누름. 안에서 DerivedData - 원하는 앱 ..
- Total
- Today
- Yesterday