내 애플은 UITableViewCell
하위 클래스와, 셀의 contentView
의 폭을 수정과 같이 할 layoutSubviews
을 구현layoutSubviews 8 GM
- (void)layoutSubviews {
[super layoutSubviews];
// position subviews...
CGRect frame = [[self contentView] frame];
frame.size.width -= 20;
[[self contentView] setFrame:frame];
}
아이폰 OS 8 시뮬레이터와 엑스 코드 (6)이 코드를 실행 GM 씨앗 이 무한 루프을 트리거합니다. 그러나 iOS 8 GM 시드를 실행하는 실제 iPhone 또는 iPad에서 실행되는 경우 이전 버전의 iOS와 마찬가지로 루프되지 않습니다.
필자는 처음에는 차이점이 컴파일러 최적화라고 생각했지만 시뮬레이터는 디버그 구성과 릴리스 구성 모두에서 반복됩니다.
질문
- 왜 아이폰 OS 8 GM과 시뮬레이터의 차이점은 무엇입니까?
- 중요한 버그 수정 사항입니까? 나는 장치에 그것을 재현 할 수없는 경우에도 잠재적으로 심각한 교수형 버그를 전시 애플 리케이션을 공개하는 것을 매우 꺼리고 있습니다.
- iOS 7 및 6에서 회귀하지 않고 루핑을 제거하기 위해 리팩터링하는 가장 좋은 방법은 무엇입니까?
이 코드는 화면 상에 어떤 현상이 발생하여 모든보기가 하위보기를 다시 레이아웃하게되는 경우를 상상해보십시오. 콘텐츠보기는 폭이 제로가 될 수 있으므로 쉽게 볼 수 있습니다. 이것이 시뮬레이터에서 일어나는 일이라고 말하는 것은 아니지만 가능한 버그를 해결하는 것과 관련하여 좋은 태도를 가지고 있다면이 문제를 해결할 수있을 것입니다. GM 씨드를 아직 다운로드하지 않은 상태에서 코드를 테스트하여 문제가 쉽게 재현되는지 확인한 다음 셀 중 하나를 선택하여 재귀 적으로 백 트레이스를 게시하는 것이 좋습니다. 첫 번째) 메소드 호출. –