首页 > iOS 项目框架问题

iOS 项目框架问题

小弟iOS新手一名,现在做项目遇到个问题:

经理让重写项目,让我研究框架的问题,奈何水平有限只知道MVC,但是经理说那只是大概的东西,然后给我讲了通安卓的做法,实在是听的稀里糊涂.(说到安卓的反射什么的)

只知道大概意思说:例如将Button的点击事件都放到一个类中,然后给一个统一的入口,所有的点击方法都走这个入口,再根据点击按钮的类型去执行相应的方法.

我只知道UIButton执行点击方法用addTarget:action:@selector... 直接调点击方法就完事儿,搞不懂怎么去将经理说的方法实现.

求各位大大给个思路,从哪儿入手,怎么去做,谢谢


听起来应该是写uibutton的category,你可以去了了解下Category和Extension。


短答案:按你上面的需求:一个类,外加不同的行为。我建议你看看苹果Class Clusters设计模式。

长答案:可以创建一个 UIButton 的子类,在统一的 Target Action 实现中对特定业务的行为调用特定的方法。

其他:
1. 如果你是要按照按钮的类型来执行相应的方法,那么我建议你继承 UIBubtton 为多种子类,例如 XXFollowButton、XXLikeButton。然后每个类都实现自己的私有方法。

  1. 如果是按照行为的不同来执行相应的方法,那么你直接使用 Target Action 模式就好,具体行为在具体的业务逻辑类里定义。

简单点说。

UIView 有个属性叫tag, 且你可以给多个UIButton 设置同一个action。
所以你可以在action中通过判断tag来区分类型。

【热门文章】
【热门文章】