2012-02-10 58 views
1

我有一個類如下IPhone:如何從一個靜態函數

#import "UtilAlert.h" 

@implementation UtilAlert 

+(void) showAlert:(NSString *)message andTitle:(NSString *)title andDelegate:(UIViewController *) delegate 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 
    [alert show]; 

} 

@end 

的問題,請致電AlertView是,當調用必要參數的功能...

[UtilAlert showAlert:@"hello" andTitle:@"hello" andDelegate:self] ; 

,我收到了錯誤:線程1:停在斷點3;

用於從UIController類

+0

你可以發佈你的.h文件嗎? – mbh 2012-02-10 06:21:20

回答

2

這不是錯誤。你的代碼中有一個斷點,代碼左邊的小藍箭頭。再次點擊藍色箭頭使其變爲淺藍色以關閉斷點。

此外,您應該在退出該功能之前顯示它之後釋放警報,否則您將泄漏內存。

+0

嗯,謝謝,但我想我正在與ARC ....... – 2012-02-10 06:38:05

0

只是胡亂猜測的函數調用,但是當函數退出,如果你是在ARC工作的alert對象可能會被釋放。在這種情況下,這可能有效:

+(void) showAlert:(NSString *)message andTitle:(NSString *)title andDelegate:(UIViewController *) delegate { 
    static UIAlertView *alert; 
    if(!alert) 
     alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 

    [alert show]; 
} 
+0

然後你會如何在一個靜態函數中創建一個buttonIndex? – whyoz 2012-09-01 01:16:43