我遇到的情况是,我似乎需要将实例变量添加到类别中,但我从 Apple 的文档中知道我不能这样做。所以我想知道最好的替代方案或解决方法是什么。
我想要做的是添加一个类别,为 UIViewControllers 添加功能。我会发现它在我所有不同的 UIViewController 中都很有用,无论它们扩展什么特定的 UIViewController 子类,所以我认为类别是最好的解决方案。为了实现此功能,我需要几种不同的方法,并且需要跟踪它们之间的数据,因此这就是我想要创建实例方法的原因。
如果它有帮助,这就是我特别想做的事情。我希望更容易跟踪软件键盘何时隐藏和显示,以便我可以调整视图中的内容大小。我发现可靠地做到这一点的唯一方法是将代码放入四个不同的 UIViewController 方法中,并跟踪实例变量中的额外数据。因此,我想将这些方法和实例变量放入一个类别中,这样我就不必每次需要处理软件键盘时都复制粘贴它们。 (如果对于这个确切的问题有一个更简单的解决方案,那也很好——但我仍然想知道类别实例变量的答案以供将来参考!)
是的,你可以这样做,但既然你问了,我不得不问:你绝对确定你需要这样做吗? (如果你说“是”,那么回去,弄清楚你想做什么,看看是否有不同的方法来做到这一点)
但是,如果您确实想将存储注入到您无法控制的类中,请使用关联参考 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html#//apple_ref/doc/uid/TP40001418-CH3g-SW5.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)