목록iOS/iOS 정리 (20)
study record
GCD란? 멀티코어와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술. 언제 GCD를 사용하게 되는가? 이벤트들을 비동기적으로 처리하지 않으면 메인 스레드에서 데이터를 가져오고 기다렸다가 UI를 업데이트하며 지연이 발생할 수 있다. 데이터베이스에서 데이터를 한번에 지연없이 가져올 수 없는 경우가 발생하기 때문이다. 이렇게 되면 데이터를 가져올 때까지 UI update도 늦어지게 된다. 이러한 경우를 해결하기 위해 GCD를 사용하게 된다. 뿐만 아니라 네트워킹, 이미지 프로세싱 등 많은 작업을 메인 스레드에서 모두 진행하게 되면 User Interface의 대응이 느려지거나 중지가 되기 때문이다. GCD는 비동기 Queue(Dispatch Queue)를 생성하고, 데이터를 G..
// 먼저 행간 조절 스타일 설정 let style = NSMutableParagraphStyle() style.lineSpacing = 10 let attributedString = NSMutableAttributedString(string: textView.text) // 자간 조절 설정 attributedString.addAttribute(NSAttributedString.Key.kern, value: CGFloat(2.0), range: NSRange(location: 0, length: attributedString.length)) // 행간 스타일 추가 attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value: sty..

offset을 쓸 때 "현재 뷰 constraint = 슈퍼뷰 constraint + offset 값”를 생각하고 세팅한다. button.snp.makeConstraints { make in make.top.equalToSuperview().offset(50) make.left.equalToSuperview().offset(50) make.right.equalToSuperview().offset(-50) make.bottom.equalToSuperview().offset(-50) } 기준이 되는 view에 맞추어서 제약을 설정한다. botton과 right는 마이너스 부호를 가지게 된다. inset을 쓸 때 button.snp.makeConstraints { make in make.edges.equalT..
iOS application states Not running : 그 앱이 시작되지 않았거나 시스템에의해 종료된 상태 Inactive : 앱이 포그라운드에서 동작하고 있지만 받은 이벤트가 현재 없는 상태. 앱이 다른 상태로 변화하기 때문에 이 상태에서 보통 짧게 머무른다. 잠깐 동안 inactive 상태에서 머무르는 시간은 유저가 화면을 닫았거나 시스템이 유저를 다른 이벤트에 반응하도록 하게 할 때이다. (문자나 전화가 온 경우) Active : 앱이 포그라운드에서 작동되고 이벤트를 받고 있는 상태. 포그라운드 앱들의 보통 상태이다. Background : 앱이 백그라운드에 있으며 코드가 실행되고 있는 상태. 대부분의 앱들은 종료되기 전에 짧게 이 상태에 들어간다. 그러나 엑스트라 실행을 요청하는 앱은 ..