반응형 iOS24 ViewController Life Cycle 뷰컨트롤러 라이프 사이클 인터페이스 빌더 사용 시 viewDidLoad() 전에 awakeFromNim() 호출이 된다 코드로 뷰컨트롤러 생성 시 viewDidLoad() 전에 awakeFromNim() 호출이 되지 않는다 뷰컨트롤러가 메모리에서 해제되는 시점에 deinit()가 실행된다. deinit()가 실행되지 않을시 상호참조 가능성이 있어 불필요한 메모리가 쌓일 수 있다. (*점검 필요) 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. ITMS-90381: Too many symbol files 오류 해결 방법 ITMS-90381: Too many symbol files - These symbols have no corresponding slice in any binary [BF2D8D2F-4C49-3714-837D-9B0D5E3258AE.symbols, D1BE3F57-F25E-3BC5-9CE3-24816F39F293.symbols, 4CB7D5DF-5893-380B-A44E-E7BCA305FC5C.symbols, 9A213DB3-F293-32CA-8B60-019575CFCB04.symbols]. Build Settings 에서 debug를 검색하고 Debug Information Format를 DWARF로 설정 2020. 9. 10. Swift translatesAutoresizingMaskIntoConstraints 설정하기 let cv = UIView(frame: CGRect(x: 100, y: 100, width: 400, height: 400)) cv.translatesAutoresizingMaskIntoConstraints = false cv.backgroundColor = .red self.view.addSubview(cv) cv.widthAnchor.constraint(equalToConstant: 50).isActive = true cv.heightAnchor.constraint(equalToConstant: 50).isActive = true cv.topAnchor.constraint(equalTo: self.view.topAnchor,constant: 100).isActive = true cv.leadingA.. 2020. 9. 10. 이전 1 2 3 4 5 다음 반응형