gpt4 book ai didi

ios - 显示来自通用实用程序类的 UIAlertController

转载 作者:行者123 更新时间:2023-12-01 17:36:23 28 4
gpt4 key购买 nike

我正在做一个使用 UIAlertView 的项目,现在的问题是我必须替换所有 UIAlertView'sUIAlertController's代码中有大约 1250 个。我打算使用现有的 Utility 类来创建一个执行此操作的函数,以下是我打算做的事情:

+(void)showAlert:(NSString *)title errorMessage:(NSString *)msg {
UIAlertController *alertController = [UIAlertController
alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
[self presentViewController:alertController animated:YES completion:nil];
}

在执行此操作之前,我有以下问题:
1 - 这值得努力吗(使用 UIAlertController 而不是 UIAlertView )?
2 - 我该如何处理 UIAlertView's在数百个文件中具有标签和不同的委托(delegate)实现?
3 - 上述函数的第四行给出了一个错误: No known class method for selector 'presentViewController:animated:completion:'
任何帮助是极大的赞赏。

最佳答案

您必须使用 UIAlertControllerUIAlertView已弃用。

苹果文档 说:

In apps that run in versions of iOS prior to iOS 8, use the UIAlertView class to display an alert message to the user. An alert view functions similar to but differs in appearance from an action sheet (an instance of UIActionSheet). UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated.) To create and manage alerts in iOS 8 and later, instead use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert. Availability



或者,您可以这样做。在您的 Utils上课,这样做:
+ (void)showAlertWithTitle:(NSString *)title message:(NSString *)msg controller:(id)controller {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];

[alertController addAction:okAction];

[controller presentViewController:alertController animated:YES completion:nil];
}

您的 ViewController 的使用情况类(class):
[Utils showAlertWithTitle:@"Camera" message:@"It seems that your device doesn't support camera. " controller: self];

如果您现有的 UIAlertView有标签,那么你必须使用 UIAlertViewController类而不是 Util 方法。

希望能帮助到你。

关于ios - 显示来自通用实用程序类的 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43778603/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com