我如何告诉我UITableViewController使用我的自定义UITableView子类tableView而不是常规子类UITableView?
是否可以创建一个在运行时可以具有任意数量的动态属性的Objective-C类?
我希望能够mySpecialClass.anyProperty在我的类中调用和拦截它,以便能够提供我自己的自定义实现,然后可以NSString在运行时返回(例如)引发异常.显然这一切都要编译.
理想的情况是,如果我可以使用类似于新文字语法的东西来引用我的属性,例如mySpecialClass["anyProperty"].
我想在某种程度上我想创建类似动态NSDictionary的东西,没有CFDictionary后备存储,它分别在属性获取和设置上执行2个自定义方法,属性名称传递给这些访问器方法,以便他们可以决定做什么.
我尝试回答使用带有ISA切换的UITableViewController的UITableView子类,如下所示:
self.tableView->isa = [MyTableView class];
Run Code Online (Sandbox Code Playgroud)
但是,我收到编译错误: Instance variable 'isa' is protected.
有办法解决这个问题吗?如果是这样,这样做是否安全?
我问,因为@AmberStar对这个问题的回答似乎有些缺陷.(见我的评论.)