【问题标题】:iOS Alert to user with contents of a UITextField when resuming app恢复应用程序时向用户发出 UITextField 内容的 iOS 警报
【发布时间】:2014-08-23 17:35:13
【问题描述】:

当应用程序从多任务状态恢复时,我正尝试在我的MainViewController 中发送包含 UITextField 内容的警报。我正在尝试使用AppDelegateapplicationDidBecomeActive 方法。我的主要问题是从AppDelegate 访问ViewController 中的textField 的内容。

AppDelegate:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:nil 
    message:CONTENTS OF UITEXTFIELD 
    delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];
}

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    在 UI 中存储任何内容都是一种不好的做法。如果您唯一的数据来源是通过标签或文本视图显示的某些字符串,则这是一个设计缺陷。您应该将此值存储为文本并通过某个公共接口获取它。

    您可以在AppDelegate 中存储对ViewController 的一些引用,或者在应用程序进入后台时使用NSUserDefaults 保存您的数据。

    【讨论】:

      【解决方案2】:

      您可以只给视图控制器一个方法-displayAlert 并从您的应用委托中调用它。

      或者,如果难以获得对相关 VC 的引用,您可以让 NSNotificationCenter-applicationDidBecomeActive 中发布通知,并在 VC 中注册一个 -displayAlert 方法,以便在发布该通知时调用.

      【讨论】:

        猜你喜欢
        • 2017-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-10
        • 2023-03-10
        • 2011-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多