2

此代码使用委托

[[[UIAlertView alloc] initWithTitle: @ "Error" message: @ "You can leave the text blank" delegate: self cancelButtonTitle: @ "Quit" otherButtonTitles: @ "OK", nil] show];

有问题的代表是:

 (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex {

我的问题是:你如何为 Xcode 委托方法自动完成?

在 Eclipse 中,您可以从 Source 菜单选项 Generate Delegate 方法中进行。

问候和感谢!

4

7 回答 7

7

你的类应该支持 UIAlertViewDelegate 协议

@interface YourClass : NSObject 
<
  UIAlertViewDelegate
>

开始输入“破折号” - 您将看到所有支持的方法包括UIAlertViewDelegate方法。要减少自动完成方法列表:输入-alert

只需使用“转到定义”即可查看所有“UIAlertViewDelegate”方法。开始在您的XCode

在此处输入图像描述

如果@required部分下的方法您必须在您的委托对象中实现它,否则您将收到警告。如果在@optional方法下您不必实现任何这些方法(您不会收到警告),但在大多数情况下,您应该这样做以使其按预期工作。

于 2013-09-12T11:47:49.867 回答
2

如果不需要该方法您将不会收到有关未实现方法的任何警告。XCode 和 Eclipse 是不同的。

再三考虑,你可以使用这个技巧

于 2013-09-12T11:59:06.390 回答
2

尝试按下esc键盘,Xcode:版本 11.3.1 (11C504)

在此处输入图像描述

于 2020-03-24T07:48:34.937 回答
1

另一种选择,你可以使用 appcode 代替 xcode,可以找到“生成”功能。

于 2016-01-28T07:28:53.683 回答
0

非常感谢大家。

在这种情况下,所有“@protocol UIAlertViewDelegate”方法都在@optional 下。我知道在这种情况下,我的类没有必要支持 UIAlertViewDelegate 协议,因为所有方法都在@optional 下。

解决方案是:

右键单击 UIAlertViewDelegate 或 UIAlertView,单击“跳转到定义”,然后您可以看到@protocol。在里面你可以看到带有@optional 和@requiered 的方法。如果 @required 部分下的方法,您必须在您的委托对象中实现它,否则您将收到警告。如果在@optional 方法下您不必实现任何这些方法(您不会收到警告)

再次感谢你

于 2013-09-12T19:51:19.963 回答
0

这是我为我经常使用的代表所做的。

  • 通过访问 UIAlertViewDelegate 定义,找到您将始终实现的必需方法和可选方法。
  • 为这些方法添加空实现。
  • 添加一个片段,快捷方式是委托名称,内容是我的空实现(选择然后拖放到片段库)
  • 下次我使用该委托时,我需要做的就是开始输入我的快捷方式(例如:AlertViewDelegate 自动插入我的空实现

奖金:

我有时还会在始终存在的实现中添加一些默认代码,例如:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    NSString* title = [alertView.title lowercaseString];
    if (buttonIndex != alertView.cancelButtonIndex) {
        if ([title isEqualToString:<#action title#>]) {
            <#statements#>
        }
    }else{
        <#cancel code#>
    }
}
于 2014-11-25T23:44:17.063 回答
0

在 Xcode 中,您可以根据需要使用自定义组件创建自己的类,并在其中创建一个委托方法,以响应人们用于解析和 AsyncImageView 等的响应。

您可以访问此处查看 Async 类演示,对此您可以编写自己的类UIAlertView

于 2013-09-12T11:47:27.063 回答