是否可以创建一个在运行时可以具有任意数量的动态属性的Objective-C类?
我希望能够mySpecialClass.anyProperty在我的类中调用和拦截它,以便能够提供我自己的自定义实现,然后可以NSString在运行时返回(例如)引发异常.显然这一切都要编译.
理想的情况是,如果我可以使用类似于新文字语法的东西来引用我的属性,例如mySpecialClass["anyProperty"].
我想在某种程度上我想创建类似动态NSDictionary的东西,没有CFDictionary后备存储,它分别在属性获取和设置上执行2个自定义方法,属性名称传递给这些访问器方法,以便他们可以决定做什么.
比方说,例如,我有MyUITextViewSubclass从继承UITextView并MyUITextFieldSubclass从中继承UITextField和这两个子类中含有大量的相同的方法和属性类似的行为添加到这些UI控件.
由于UITextView与UITextField从不同的类继承,有一个简单的方法来创建一个抽象类,所有这些重复的代码相结合? 换句话说,是否有可能创建一个我可以从这两个子类继承的抽象类,然后只是覆盖两者之间不同的方法?
到目前为止我所知道的: