목표-c - 뷰의 모든 UIButton 순회에 관한 질문입니다. 문의해 주세요.
某草草
某草草 2017-04-28 09:04:24
0
4
667

뷰의 모든 UIButton을 순회하는 문제에 대해서는

에 문의하세요.

for (id obj in self.view.subviews) {
if ([obj isKindOfClass:[UIButton Class]]) {
UIButton theButton = (UIButton)obj; >theButton.xxx = ooo
}
}

컨트롤의 하위 컨트롤을 탐색할 때 다음과 같이 uibutton을 직접 가져오는 대신 in에서 id 속성을 가져온 다음 if([obj isKindOfClass:[UIButton Class]]) 판단을 내려야 하는 이유는 무엇입니까?

for (id obj in self.view.subviews) {

UIButton
theButton = (UIButton)obj; theButton.xxx =

}

某草草
某草草

모든 응답(4)
小葫芦

UIButton을 직접 가져오지 않았거나, 유형을 명시적으로 변환하고 있다고 오해했습니다.

曾经蜡笔没有小新

하위 뷰에 반드시 UIButton만 있는 것은 아니지만 다른 컨트롤도 있을 수 있습니다. 모든 컨트롤을 강제로 UIButton으로 변환하는 것은 매우 위험하며 주의하지 않으면 충돌이 발생합니다.
안전한 방법은 먼저 획득한 컨트롤이 UIButton인지 확인한 다음 강제 변환하는 것입니다. 이때의 컨트롤 유형은 실제로 이미 알려져 있습니다. 오류.
게다가 id는 속성이 아니라 oc의 특수한 유형이므로 객체라고 생각하시면 됩니다. 어떤 객체든 입력할 수 있습니다.

Ty80

그 이유는 self.view에 반드시 버튼만 있는 것은 아니기 때문입니다. uibutton을 사용하여 강제 전송하는 경우 내부에 라벨이 있으면 어떻게 해야 합니까? 오류가 보고됩니다.

滿天的星座

뷰의 모든 하위뷰가 버튼형인지 확인하지 않는 이상 인체에 당나귀 머리를 눌렀을 때 반드시 오류가 발생하게 됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿