[Error] Could not insert new outlet connection

2023. 8. 16. 21:36·Dev/Issue

 

문제

 

앱 개발 중, 분명히 존재하는 ViewController에 collectionView를 추가하고 아웃렛(Outlet) 연결을 시도하는데 오류가 발생하는 경우가 있다. 주로 다음과 같은 두 가지 경우로 보인다.

  1. Xcode 내부 파일 관리 문제: 프로젝트 내 파일이 많아지면서 발생하는 오류다.
  2. 단순한 프로젝트 캐시/상태 오류: Xcode가 일시적으로 연결 상태를 제대로 인식하지 못해 발생하는 문제다.

 

클래스가 분명 있는데 발생한 오류

 

결론적으로, Xcode가 스스로 연결에 실패하는 경우가 많았다. 대부분의 해결책은 Xcode를 종료했다가 다시 시작하는 것을 권했지만, 나는 재시작 없이 문제를 해결하는 방법을 시도하고 싶었다.

 

해결

 

  1. 스토리보드에서 강제 연결 시도 (실패): 먼저, 스토리보드에서 collectionView를 ViewController로 직접 드래그하여 아웃렛 연결을 시도했다. 하지만 이래 이미지처럼 시도해도 여전히 동일한 오류가 발생하며 연결되지 않았다. 이는 Xcode 내부의 인덱싱 문제일 가능성이 높다고 판단했다.
  2. 코드로 @IBOutlet 직접 선언 후 역연결 (해결!): 정상적인 아웃렛 연결이 어려운 경우, 반대로 코드를 먼저 작성하고 스토리보드에서 연결하는 방식을 시도할 수 있다. ViewController 코드 내에 다음과 같이 @IBOutlet을 직접 작성하여 선언했다.

 

 

 

 

// ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var myCollectionView: UICollectionView! // 여기에 직접 작성

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
}

 

 

이렇게 코드를 작성하고 나니, 스토리보드에서 ViewController의 Connections Inspector로 이동했을 때, 방금 작성한 myCollectionView 아웃렛이 나타나는 것을 확인할 수 있었다. 이후 이 아웃렛을 collectionView로 드래그하여 연결하니 정상적으로 아웃렛 연결이 완료되었다. 

 

 

 

 


 

 

Xcode에서 아웃렛 연결이 되지 않는 오류는 당황스럽다! 하지만 대부분 Xcode 내부적인 문제이므로, 단순히 재시작하거나 이처럼 코드를 먼저 작성하여 역으로 연결하는 방법으로 해결할 수 있다.

'Dev > Issue' 카테고리의 다른 글

[Error] Library not loaded: @rpath no such file  (0) 2023.11.13
[Error] Could not get GOOGLE_APP_ID in Google Services file from build environme  (0) 2023.11.10
[Error] object has been deleted or invalidated.  (0) 2023.11.01
[Issue] Assets을 실수로 삭제했다면?  (0) 2023.08.22
'Dev/Issue' 카테고리의 다른 글
  • [Error] Library not loaded: @rpath no such file
  • [Error] Could not get GOOGLE_APP_ID in Google Services file from build environme
  • [Error] object has been deleted or invalidated.
  • [Issue] Assets을 실수로 삭제했다면?
Callie_
Callie_
  • Callie_
    CalliOS
    Callie_
  • 전체
    오늘
    어제
    • 분류 전체보기
      • APPLE
      • Dev
        • Swift
        • UIKit
        • SwiftUI
        • Issue
        • 구현
      • Design
        • HIG
      • CS
      • 직관로그 (출시앱)
        • 업데이트
      • 🌱 SeSAC iOS 3기
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DidEndOnExit
    stroyboard
    생명주기
    Entry Point
    SwiftUI
    네트워크통신
    keyboard
    IBAction
    .OverFullScreen
    TableViewCell
    layer.shadow
    .fullScreen
    SeSAC
    Swift
    tag
    addTarget
    Info탭
    Enum
    clipsToBound
    cornerradius
    Button
    ios
    modalPresentStyle
    후기
    cs
    TapGestureRecognizer
    화면전환
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Callie_
[Error] Could not insert new outlet connection
상단으로

티스토리툴바