我希望在 xcode swift 中获取uiview的课程描述,以获取tableview' s cellForRowAtIndexPath
if([[[view class] description] isEqualToString:@"UITableViewIndex"]){
....
}
答案 0 :(得分:9)
这是基于问题的swift中的直接翻译。
if NSStringFromClass(view.classForCoder) == "UITableViewIndex"
{
}
答案 1 :(得分:2)
我认为,isEqualToSTring
不是您的最佳选择。我可以想到两个更好的选择:
if view.isKindOfClass(UITableViewIndex) {
...
}
或者,甚至更好:
if let tableView = view as? UITableViewIndex {
... //Here you can use a tableView instead of view.
}
字符串比较不是快速操作。 isKindOfClass / type casting应该更快。而且你不必担心字符串中的拼写错误。如果您想重构代码并重命名类,则无需在任何地方更改这些字符串。
更新:正如Nikolai Ruhe所说,UITableViewIndex
是私有的(起初我认为它是您的自定义子类),因此在这种情况下不能使用此技术。请查看Allan的答案。