objective-c - iOS - 类别实现文件中的奥特莱斯

标签 objective-c ios cocoa iboutlet objective-c-category

概览

  • 我有一个 iOS 项目,其中的 View Controller 实现变得很大,我认为根据功能分成几类会更好
  • View Controller 实现文件中的 socket 在类别的实现文件中不可用。

注意 - 我正在使用 ARC(自动引用计数)

问题

  1. 我有一个到我的 View Controller 的实现文件中创建的文本字段的导出。现在我可以为我的 View Controller 类别的实现文件中的相同文本字段创建另一个导出吗?
  2. 它会不会导致任何内存未释放或任何其他内存问题(两个导出都将非原子)?
  3. 从设计的角度来看,这是可以接受的还是有更好的方法?
  4. 能否在 View Controller 的实现中访问类别的方法?我可以包含头文件,但我想知道在运行时是否会有任何不可预测的行为

最佳答案

如果您需要访问在您的 View Controller 类的类别中声明的 IBOutlet 属性,为什么不在类头文件中声明它们以便您的类别可以使用它们?现在在实现文件中声明属性和 ivars 的能力意味着隐藏实现的困惑细节,但不会冒使代码难以管理的风险。您的功能设计似乎很合理。

关于objective-c - iOS - 类别实现文件中的奥特莱斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730953/

相关文章:

ios - serial Dispatch Queue 将只使用一个线程?

ios - Objective C @import for modules 是否取代了#import?

iphone - 集合在枚举时发生了变异,UITableView

ios - Firebase 突然崩溃并显示 "RepoExists"消息

objective-c - 限时共享软件

ios - Opentok session 失败

iOS 应用内恢复购买噩梦

ios - Swift:为多个设备对齐元素

objective-c - 通用首选项 Pane 被迫在 32 位上启动

cocoa - 如何轻松关闭非关键的 NSWindow?