내가있는 tableview의 cellForRowAtIndexPath
엑스 코드의 신속한 [[[뷰 클래스] 설명]
if([[[view class] description] isEqualToString:@"UITableViewIndex"]){
....
}
내가있는 tableview의 cellForRowAtIndexPath
엑스 코드의 신속한 [[[뷰 클래스] 설명]
if([[[view class] description] isEqualToString:@"UITableViewIndex"]){
....
}
이것은 빠른 직접 번역 질문에서 기반 코드 아래에 대한 엑스 코드 신속에있는 UIView의 클래스의 설명을 얻으려면 .
if NSStringFromClass(view.classForCoder) == "UITableViewIndex"
{
}
제 생각에, isEqualToSTring
은 귀하의 경우에 최선의 선택이 아닙니다. 더 나은,
if view.isKindOfClass(UITableViewIndex) {
...
}
을 또는 : 나는이 더 나은 옵션을 생각할 수
if let tableView = view as? UITableViewIndex {
... //Here you can use a tableView instead of view.
}
문자열 비교가 빠른 작동하지 않습니다. isKindOfClass/타입 캐스팅이 빨라야합니다. 그리고 문자열의 오타에 대해 걱정할 필요가 없습니다. 그리고 코드를 리팩토링하고 클래스 이름을 바꾸려면 모든 문자열을 변경하지 않아도됩니다.
UPDATE : 니콜라이 RUHE가 언급 한 바와 같이, UITableViewIndex
가 (처음에 나는 그것이 사용자 정의 서브 클래스 인 생각) 개인이기 때문에,이 기술은이 경우 사용할 수 없습니다. 대신 앨런의 대답을 확인하십시오.
'UITableViewIndex'는 비공개입니다. –
@NikolaiRuhe 네, 네가 맞아. 나는'UITableViewIndex'가 OP의 커스텀'UITableView' 서브 클래스라고 생각했습니다. – FreeNickname
이 기술은 OP의 경우에는 적용 할 수 없지만 다른 사람에게 유용 할 수 있으므로 대답을 남겨 두겠습니다. – FreeNickname
많은 감사합니다. Allan. –