我正在寻找一种方法来扩展现有的类,使用新变量而不创建我自己的新类,例如将NSIndexPath添加到UITableViewCell,以便能够在不使用标记的情况下访问行或节。
我知道我可以添加带扩展名的新功能
extension UITableViewCell {
// i can do this
func myExtendedFunction() {}
// but this is not possible
var indexPath:NSIndexPath
}
有没有办法做到这一点,还是我总是要建立自己的类?
答案 0 :(得分:0)
您需要子类以向类添加属性。
有一些解决方法依赖于objc运行时允许您将对象相互关联,但这些不应该在典型情况下使用(它们通常比子类化更复杂,它们使对象之间的关系不明显,并且有自己的局限性。)