Objective C에서 ViewController에 UIKit 객체 속성이있는 경우 뷰를 말하고 viewDidLoad에서 인스턴스화 한 다음 하위 뷰에 추가하여 메모리를 제거하고, removeFromSuperview()와 nil로 객체를 설정해야합니다. (틀린 것이 아니라면 ...)보기, ARC, Objective C 및 Swift와의 차이점 제거
그러나 Swift에서는 선택적 유형 nil의 값을 유지할 수 있습니다.
내 응용 프로그램 내에서 UILabels 또는 UIView와 같은 것들을 애니메이트하고 나중에 사용자가 사라지고 메모리에서 제거되도록하려는 경우 해당 UIKit 객체가 removeFromSuperView()이면 충분합니다. ? 또는 내가 선택, removeFromSuperView() 애니메이션을하려고하는 모든 개체를 만들어야 만 nil 설정할 수 있습니까?
불쌍한 표현에 사과드립니다. 추가 설명이 필요하면 알려 주시기 바랍니다. 귀하의 의견에 많은 감사드립니다.
하위보기는 상위 개체 (기본 제공되지 않는 속성은 소유 인스턴스의 초기화가 끝나기 전에 값을 가져야 함) 이후에 초기화되기 때문에 일반적으로 선택 사항입니다. 그래서 당신은 예를 들어 '@IBOutlet 약한 var myLabel : UILabel!'항상 ('?'도 할 것이지만 덜 편리하다) –
@NicolasMiari가 맞다. 2 가지를 추가하고 싶습니다. 1) UIView 유형의 속성을 선택 사항으로 만들지 않는 이유는 거의 없습니다. 그것은 UIViewController 초기화를 단순화하고 2) removeFromSuperView는 단순히 UIView.removeSubview (: UIView)를 호출합니다. 객체를 nil로 설정하지 않습니다. – dylanthelion