我有一个包含一堆UITableCellViews的笔尖,这些UITableCellViews都来自一个名为MessageCell
的类。这些自定义类位于Objective C中,我已将它们桥接到我的Swift项目中。Swift:查找给定类型的实例的泛型函数
我希望能够获取感兴趣的一个。我想这个功能
func cellTypeFromNib<T>(type : T) -> MessageCell? {
var cell : MessageCell? = nil
for obj in self.nibObjs {
if (obj is T) {
return obj as? MessageCell
}
}
return cell
}
并调用它像这样:
let cell = cellTypeFromNib(DerivedCell.self)?
这悲惨的失败了。通过调试器,它看起来像nibObjs
中的对象与我传入的元类型不具有相同的类型信息。
我觉得这应该是可能的,但我很难过。
self.nibObjs包含的UITableViewCell实例的数组 – MattD 2015-02-06 02:58:50
公平一点 - 我将修改 – MattD 2015-02-06 03:01:27
接受我自己的答案,因为通过林太郎带来的一个不为雨燕1.1的 – MattD 2015-02-22 17:44:45