에서 "자기"교체는 일반적으로 XIB에서로드 사용자 정의보기 내 코드 보인다.는 ARC
그리고 모두 올바르게 작동합니다. 하지만 ARC 해당 코드에서 쓰기를하려고하면
@implemenation MyCustomView
- (id)init
{
if ((self = [NSBundle loadViewFromXibName:@"MyCustomView" withClass:[MyCustomView class] owner:nil]))
{
//some init here
}
return self;
}
내 응용 프로그램 충돌이 경우에는 어떻게됩니까 EX_BAD_ACCESS (할당이 해제 된 인스턴스로 전송 해제 메시지) 로? 어떻게이 문제를 해결할 수 있습니까?
업데이트이 문제는 iOS6 SDK (iOS6 Simulator)에서만 발생합니다. iOS5 SDK 및 iOS 5 Devices/Simulator에서 모두 정상입니다.
업데이트 됨이 문제는 테이블 뷰 셀에만 적용되며 테이블 뷰 수명주기에서는 할당 취소됩니다. 정적 셀 빌더 (xib에서로드 된 리턴 셀)를 구현하고 내부 셀 초기화를 awakeFromNib로 옮겼습니다. 이제는 모두 제대로 작동합니다.
"이 문제가 있어야하는 이유를 이해하지 못합니다." "자기"는 __strong이고 어떤 객체에 할당하면 자동으로 다시 열 수 없습니다. 나는 틀린가?
loadViewFromXibName ==? – borrrden
그것은 NSBundle 카테고리의 메소드이고, xib에서 View (autoreleased)를로드하고 리턴한다. – Killer
게시 된 코드가 정상입니다. –