KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

iOS

iOS - StackView에서 Subview 제거할때 주의점

2023. 7. 24. 01:05

스택뷰에 새로운 뷰를 추가할때는 addArrangedSubview()를 사용하고

스택뷰에서 서브뷰를 제거할때에는 removeArrangedSubview()를 사용한다.

 

removeArrangedSubview()를 사용해서 서브뷰를 제거하게 되면 화면에 보이는 경우도 있다고 한다.

(즉 메모리에서 제거되지 않은 상태로 메모리 릭이 발생 할 수 있음)

 

먼저 공식 문서에 나와있는 내용을 확인해 보면 

removeArrangedSubview()를 사용할 때 명시적으로 removeFromSuperview()를 사용하라는 내용이 있다.


if let memberInfoView = editMemberInfoStackView.arrangedSubviews[index] as? EditMemberInfoView {
    editMemberInfoStackView.removeArrangedSubview(memberInfoView)
    memberInfoView.removeFromSuperview()
}

위 코드처럼 

removeArrangedSubview()를 먼저 해준 후 제거할 뷰를 removeFromSuperview()를 통해 명시적으로 제거해주어야 메모리릭이 발생하지 않는다.

 

 

 

 

출처 : https://developer.apple.com/documentation/uikit/uistackview/1616235-removearrangedsubview

 

removeArrangedSubview(_:) | Apple Developer Documentation

Removes the provided view from the stack’s array of arranged subviews.

developer.apple.com

 

'iOS' 카테고리의 다른 글

collectionView - 가로방향으로 셀 3개 넣기  (0) 2024.01.28
iOS - 공유하기 기능  (0) 2023.08.06
iOS - 커스텀뷰를 테이블뷰와 비슷하게 사용하기  (0) 2023.07.11
iOS - 텍스트의 특정 부분만 Bold 처리하기  (0) 2023.06.11
NavigationController 사용시 status Bar Style 바꾸기  (0) 2022.12.15
    'iOS' 카테고리의 다른 글
    • collectionView - 가로방향으로 셀 3개 넣기
    • iOS - 공유하기 기능
    • iOS - 커스텀뷰를 테이블뷰와 비슷하게 사용하기
    • iOS - 텍스트의 특정 부분만 Bold 처리하기
    KWiOS
    KWiOS

    티스토리툴바