objective-c – 目标C类的实例变量

我有一种情况,似乎我需要添加实例变量到一个类别,但我知道从苹果的文档,我不能这样做。所以我想知道什么最好的替代或解决方法是。

我想要做的是添加一个类别,添加功能到UIViewControllers。我会发现它有用的所有我不同的UIViewControllers,无论什么具体的UIViewController子类,他们扩展,所以我认为一个类别是最好的解决方案。为了实现这个功能,我需要几个不同的方法,我需要跟踪它们之间的数据,所以这就是我想要创建实例方法。

如果它有帮助,这里是我特别想做的。我想让它更容易跟踪软件键盘隐藏和显示,以便我可以调整内容在我的视图。我发现,唯一可靠的方法是将代码放在四个不同的UIViewController方法中,并跟踪实例变量中的额外数据。所以这些方法和实例变量是我想放入一个类别,所以我不需要复制 – 粘贴他们每次我需要处理的软件键盘。 (如果有一个更简单的解决方案,这个确切的问题,这也很好 – 但我仍然想知道类别实例变量的答案,以供将来参考!

是的,你可以做到这一点,但既然你问,我不得不问:你绝对确定,你需要吗? (如果你说“是”,然后回去,找出你想做什么,看看是否有不同的方式做)

然而,如果你真的想把存储注入一个你不能控制的类,使用一个associative reference

http://stackoverflow.com/questions/4146183/instance-variables-for-objective-c-categories

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:objective-c – 目标C类的实例变量