Objective c 在iOS中动态更改属性getter和setter

Objective c 在iOS中动态更改属性getter和setter,objective-c,ios,properties,runtime,bind,Objective C,Ios,Properties,Runtime,Bind,我希望将声明的属性绑定到运行时创建的控件和视图,这与使用nib/xib文件时发生的情况大致相同 项目结构如下: plist文件:用于设置视图配置(按钮、标签、文本视图等) SOViewController:任何想要使用布局管理器的类都应该继承的类 SOView:一个非常基本的视图,包含plist文件中定义的生成控件字典 solayotmanager:代表SOViewController子类创建视图的单例 每当自定义viewController从SOViewController继承时,就会从捆

我希望将声明的属性绑定到运行时创建的控件和视图,这与使用nib/xib文件时发生的情况大致相同

项目结构如下:

  • plist文件:用于设置视图配置(按钮、标签、文本视图等)
  • SOViewController:任何想要使用布局管理器的类都应该继承的类
  • SOView:一个非常基本的视图,包含plist文件中定义的生成控件字典
  • solayotmanager:代表SOViewController子类创建视图的单例
每当自定义viewController从
SOViewController
继承时,就会从捆绑包中加载具有视图配置的plist文件。将创建一个
SOView
,并通过
SolayotManager
将所有控件添加到视图中(也可以通过作为视图一部分的词典进行访问)。自定义视图控制器应将属性与从plist文件生成的控件(属于
SOView
实例的控件)绑定


我的问题如下:如何将自定义视图控制器中包含的属性的getter和setter方法与
SOView
子类中生成的控件绑定

和xib的做法一样。。。调用
setValue:forKey:

如果你有这样的东西

@interface MyViewController : SOViewController

@property (nonatomic, strong) UIButton *myButton;

// ...

@end
solayotmanager
创建视图组件时,它将查看是否有
插座
,并将其连接起来

MyViewController *viewController = // ...

// Create and configure the button
[viewController setValue:configuredButton forKey:@"myButton"];

您需要将插座的名称添加到plist中,以便它知道如何设置它

Yay,非常简单-在这里,我想我必须使用objc/runtime API进行一些C编码:)