跨视图重用数据输入方法

时间:2011-09-26 09:35:00

标签: ios cocoa-touch uitableview uikeyboard

我已经编写了用于滚动表格视图的代码,即使键盘使用通知中心以及keyboardDidShowkeyboardDidHide方法隐藏输入数据也是如此。

问题是我的应用程序中有近8个视图需要输入一些数据。

我应该在每个.m文件中编写整个代码,还是有其他简单方法可以做到?

4 个答案:

答案 0 :(得分:1)

您可以在应用程序委托文件中定义该方法,也可以创建一个包含该方法的单独类文件,并且可以在需要时调用它。

myMethod.h文件

    @interface myMethod : NSObject 
    {
    }
    - (void) callMyMethod;

myMethod.m文件

    - (void) callMyMethod
    {
         // your code
    }

在您看来,请调用此方法....

   myMethod *objMyMethod = [[myMethod alloc] init];
   [objMyMethod callMyMethod];

答案 1 :(得分:1)

您可以编写某种处理所有键盘通知的BaseTableViewController

然后让所有其他TableViewControllers从这个基本控制器继承。

答案 2 :(得分:1)

DRY(Don't Repeat Yourself)主体会导致创建一组代码来处理输入,而不是那些执行相同操作的副本。

解耦的原理会导致代码的单独类。

单独的类也可以更容易地编写单元测试。

答案 3 :(得分:0)

这听起来像category的完美用例。