目标C:是否可用于ios?

时间:2015-04-07 07:59:47

标签: ios objective-c

  1. 我正在尝试为一个ios项目实施冒充。
  2. 情景: Defining class of controller at run time
  3. 我意识到poseAsClass或class_poseAs不适用于ios &安培;也弃用了macOX。
  4. 将非常感谢任何在ios中实施冒充的指示。感谢

2 个答案:

答案 0 :(得分:3)

如果您想要篡改OS /私有SDK提供的类,整个姿势/混合方法非常有用 - 但您通常不应该这样做,并且使用它不是一个好主意作为您自己代码中的标准方法。

  

场景:在运行时定义控制器类

通常使用抽象超类/接口/ @protocol来定义潜在控制器需要实现的接口,然后在运行时将它们切换进来。

在你的情况下,似乎你有一个控制器充当真正控制器的proxy。你在技术上也不需要@protocol,因为UITableViewController实际上是你的抽象超类,但你的代理最好是UITableViewController并拥有视图,而你的其他控制器也是是NSObject个子类,只是符合UITableView DataSource/Delegate协议。

答案 1 :(得分:1)

你应该研究Method Swizzling。它可以帮助您在运行时更改功能/功能体。

有一个很棒的tutorial here.