聽起來像您還沒有爲LoginForm聲明delegate
成員。您需要添加代碼,以便在LoginForm完成時以模態方式呈現LoginForm的UIViewController實例。以下是聲明自己的委託:
在LoginForm.h:
@class LoginForm;
@protocol LoginFormDelegate
- (void)loginFormDidFinish:(LoginForm*)loginForm;
@end
@interface LoginForm {
// ... all your other members ...
id<LoginFormDelegate> delegate;
}
// ... all your other methods and properties ...
@property (retain) id<LoginFormDelegate> delegate;
@end
在LoginForm.m:
@implementation
@synthesize delegate;
//... the rest of LoginForm's implementation ...
@end
然後在呈現LoginForm的該UIViewController的實例(姑且稱之爲MyViewController) :
In MyViewController.h:
@interface MyViewController : UIViewController <LoginFormDelegate>
@end
在MyViewController.m:
/**
* LoginFormDelegate implementation
*/
- (void)loginFormDidFinish:(LoginForm*)loginForm {
// do whatever, then
// hide the modal view
[self dismissModalViewControllerAnimated:YES];
// clean up
[loginForm release];
}
- (IBAction)showLogin:(id)sender {
LoginForm *lf = [[LoginForm alloc]initWithNibName:@"LoginForm" bundle:nil];
lf.delegate = self;
lf.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:lf animated:YES];
}
如果我在ViewBased應用使用相同的代碼我得到在第二行相同的錯誤,但如果我刪除線時我按下按鈕出現的模態圖。 ..我爲代表團需要一些特別的東西嗎?和標籤模板? – irco 2010-07-21 23:56:35