什么是"适当的"为多个视图控制器实现通用UIAlertView的方法?

时间:2014-08-26 11:34:05

标签: ios

我正在学习iOS开发并正在开发一个简单的应用程序。我有两个视图控制器,ViewC_0ViewC_1,由导航控制器管理。对于两个ViewC,我都有一个按钮,弹出UIAlertView以提示用户输入密码。关于UIAlertView的所有内容在ViewC_0ViewC_1之间都是相同的,除了alertView:theAlert:clickedButtonAtIndex选择器,因为它们会自然地执行不同的操作。我也希望密码不同。

即使这相对简单并且不需要大量代码,我也不想在两个视图控制器上复制它。我对可能的UIAlertView代码通用方法的想法是

  1. 创建一个名为PasswordViewController的ViewController类,并将ViewC_0ViewC_1作为其子类。然后,他们将使用超类中的方法来管理UIAlertView。
  2. 创建一个继承自NSObject的类并指定一个协议。就像是:     #import

    @protocol AlertHelperProtocol <NSObject>
    @required
    - (void)actionForValidPassword;
    
    @optional
    @end
    
    @interface AlertHelper : NSObject <UIAlertViewDelegate>
    - (id)initWithPassword:(NSString *)password andDelegate:(id)target;
    - (void)promptForPassword;
    @end
    
  3. iOS开发中是否有适当或标准的方法?后一种方法对我来说似乎更清晰,虽然我不确定如果一个类试图使用没有活动View的AlertHelper会发生什么。它还允许我了解协议和委托,所以这很好。

0 个答案:

没有答案
相关问题