본문 바로가기
반응형

전체 글53

ViewController Life Cycle 뷰컨트롤러 라이프 사이클 인터페이스 빌더 사용 시 viewDidLoad() 전에 awakeFromNim() 호출이 된다 코드로 뷰컨트롤러 생성 시 viewDidLoad() 전에 awakeFromNim() 호출이 되지 않는다 뷰컨트롤러가 메모리에서 해제되는 시점에 deinit()가 실행된다. deinit()가 실행되지 않을시 상호참조 가능성이 있어 불필요한 메모리가 쌓일 수 있다. (*점검 필요) 2020. 11. 17.
swift guard let 사용하는 경우 swift의 guard let 구문은 특정 조건이 맞으면 계속 진행된됩니다. 아래의 상황에서 쓰이면 적절합니다. 1. 특정한 조건이 맞지 않으면 종료(조기탈출) 2. 추가 로직 작동을 원하지 않을 때 사용 2020. 11. 17.
코드로 UI 작성 시 유의점 스토리보드로 레이블이나 버튼을 구현했을 경우, 자동적으로 메인 스레드에서 작동하게 됩니다. 하지만 코드로 구현했을 경우, 메인 스레드에서 작동되지 않기 때문에 UI 변경 시 적용되지 않습니다. ex) label.isHidden = true, labe.isHidden = false button.isHidden = true, button.isHidden = false 따라서 코드로 생선 한 버튼이나 레이블을 메인 스레드에서 작동시키기 위해서는 DispatchQueue.main.async { // button.isHidden = true } 위 방식처럼 코드를 작성하여야 합니다. 2020. 11. 14.
스위프트 클로저 (swift closures) 알아보기 5 지겨우셨죠? 드디어 클로저 알아보기 마지막 5탄입니다. 이번 시간은 다행하게도 비교적 짧은 내용입니다. 이렇게 5개의 글로 나눠 작성하니 나중에 다시 공부하기도 좋을 것 같네요. hiMessage를 풀어보면 String 매개변수를 받아 String 타입을 리턴하는 일반적인 함수 형태입니다. 그런데 hiMessageClosure 함수를 보면 리턴 타입이 () -> String으로 낯선 형태로 느껴집니다. 간단하게 생각해서 hiMessageClosure의 리턴 타입이 클로저라고 생각하면 쉽습니다. 리턴 부분을 보시면 -> return {"hi " + message}으로 축약된 클로저 표현식 형태임을 알 수 있어요. hieMessageClosure를 실행시켜보면 리턴타입인 클로저 () -> String 가 반.. 2020. 9. 10.
스위프트 클로저 (swift closures) 알아보기 4 안녕하세요 ~ swift 문법을 공부 중입니다. 지난번 시간에 이어서 스위프트 클로저 (swift closures) 알아보기 4탄 이어서 작성해보겠습니다. 혼자 보고 넘어다기보다는 이렇게 글을 남기며 정리하니 공부가 잘 되네요. String 배열과 String 문자열을 인자로 받아 배열의 원소이 첫 문자가 인자로 받은 String 문자열과 같으면 true를 반환, 다르면 false를 실행하는 filterString 함수를 만들어보았습니다. 보통의 함수였습니다. 이번에는 클로저를 매개변수를 갖는 형태로 filterStringClosure 함수를 만들어보았어요. (dataArray: [String], closure: (String) -> Bool)에서 알 수 있듯 String 배열과 String을 매개변수로.. 2020. 9. 10.
반응형