OC中动态添加类啊 属性啊 方法啊这些个东西有什么作用啊?

RT, 对这些我现在就觉着这几个是写中看不中用啊, 完全不知道什么去用这些东西啊???
谁能告诉下这些东西的应用场景吗?? 不胜感激

允许别人插件开发或者运行时刻加载代码。

在我们工程里面,使用了一个第三方的非常复杂的动态改变行数tableview ,它使用的是系统自带的tableviewcell ,但是通过点击无法获得点击的tableviewcell 所对应的点击事件,通过给系统的tableviewcell 添加一个我们需要的标识,达到改动最少的代码,实现需求功能