앱/iOS(Swift)62 [Siwft] 'FirebaseCore/FirebaseCore.h' file not found xcodeproj로 xcode 키지말고 xcworkspace로 키기 안되면 pod update pod repo update 2023. 1. 7. [Swift] 최상위 뷰 찾는법 * UIApplication.shared.keyWindow?.rootViewController 근데 key를 이용해서 접근하는 방식은 ios 13버전부터는 사용하지 못함 그래서 guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else { return } guard let tab = window.rootViewController as? MainTabController else { return } window를 사용 2023. 1. 7. [Swift] 코드로 View그릴때 좀 편하게 하는방법 extension UIView { func anchor(top: NSLayoutYAxisAnchor? = nil, left: NSLayoutXAxisAnchor? = nil, bottom: NSLayoutYAxisAnchor? = nil, right: NSLayoutXAxisAnchor? = nil, paddingTop: CGFloat = 0, paddingLeft: CGFloat = 0, paddingBottom: CGFloat = 0, paddingRight: CGFloat = 0, width: CGFloat? = nil, height: CGFloat? = nil) { //translatesAutoresizingMaskIntoConstraints 를 true로 주면 view의 크기와 위치를 완전히 지.. 2023. 1. 4. [Swift] 멀티쓰레드 환경에서 Struct가 Class 보다 더 좋은 이유 멀티쓰레드 환경에서 Struct가 Class 보다 더 좋은 이유: Struct 는 race condition(두개이상의 cocurrent(async) 한 프로세스 or 스레드 들이 하나의 자원에 접근하기위해 경쟁하는형태), deadlock(교착상태: 두개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있는형태) 등의 위험없이 다른쓰레드로 복사 가능, Class는 Thread-safe하게 사용해야함 2022. 3. 31. [Swift] 코드로 뷰추가해보기( autolayout ) class ViewController: UIViewController { let redView = UIView() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. view.addSubview(redView) redView.translatesAutoresizingMaskIntoConstraints = false redView.backgroundColor = .gray NSLayoutConstraint.activate( [ redView.topAnchor.constraint(equalTo: self.view.topAnchor), redView.leadingAnchor.const.. 2022. 3. 27. [Swift] 오토레이아웃 오토리사이징 오토리사이징: iOS에서 레이아웃을 설정할 때 별다른 설정을 하지 않으면 뷰에 따라서 자체적으로 사이즈를 바꾸는 기능 프로그래머가 코드로 오토레이아웃을 지원하면 오토리사이징과 충돌을 하기 때문에 오토리사이징을 비활성화 시켜야 제약 충돌이 일어나지 않는다 view.translatesAutoresizingMaskIntoConstraints = false 2022. 3. 27. 이전 1 2 3 4 ··· 11 다음