我的代码出了什么问题?我正在使用MBProgressHUD

时间:2010-06-11 14:43:14

标签: iphone objective-c uiactivityindicatorview unrecognized-selector

我正在使用 MBProgress HUD ,我不知道是什么问题。 我有UIButton显示 HUD 。 这是我的代码:

- (void)showHUD:(id)sender {
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeCustomView;
    [self.view addSubview:HUD];
    HUD.delegate = self;
    HUD.labelText = @"No Internet Connection...";
    HUD.opacity = 0.7;
    HUD.customView = 
     [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
    [HUD showWhileExecuting:@selector(hudWasHidden) 
                   onTarget:self 
                 withObject:nil 
                   animated:YES];
}


- (void)hudWasHidden {

    float progress = 0.0f;
    while (progress < 1.0f) {
        progress += 0.01f;
        HUD.progress = progress;
        usleep(50000);
    }
}

以下是控制台日志:

2010-06-11 17:55:26.255 Dual Search[14166:207] * -[MBProgressHUD setCustomView:]:
 unrecognized selector sent to instance 0x6321220 2010-06-11 17:55:26.256 Dual 
Search[14166:207] Terminating app due to uncaught exception 
'NSInvalidArgumentException', reason: '** -[MBProgressHUD setCustomView:]: 
unrecognized selector sent to instance 0x6321220' 2010-06-11 17:55:26.256 Dual 
Search[14166:207] Stack: ( 41853515, 2505499913, 42125115, 41587990, 41584658, 
13036, 2853830, 3324117, 3332879, 3328066, 2977128, 2871789, 2903111, 49860988, 
41394236, 41390152, 49854621, 49854818, 2895329, 10508, 10362 )

单击UIButton时,我的应用始终崩溃。

由于

1 个答案:

答案 0 :(得分:0)

这是Cocoa代码中常见的崩溃:“无法识别的选择器”在这种情况下非常明确。 MBProgressHUD没有customView属性,并且尝试设置它会导致崩溃。 setCustomView是在这里调用的隐式选择器(方法),当没有被调用的方法时,Objective-C会崩溃。

不知道如何告诉你如何完成你想要做的事情。