, ; view . , .
. UIView be UITableViewDelegate, UIViewController be a UITableViewDelegate. , , UITableViewController, iPhone OS 3.x+. .
, . - UINavigationController, "" . , , , .
, :
- (void)showOptionView
{
OptionViewController* optionViewController = [[OptionViewController alloc] initWithNibName:@"OptionView" bundle:nil];
optionViewController.delegate = self;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:optionViewController];
[self.navigationController presentModalViewController:navController animated:YES];
[navController release];
[optionViewController release];
}
OptionViewController.h :
@protocol OptionViewControllerDelegate;
@interface OptionViewController : UITableViewController
{
id<OptionViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id<OptionViewControllerDelegate> delegate;
@end
@protocol OptionViewControllerDelegate <NSObject>
- (void)OptionViewController:(OptionViewController*)OptionViewController didFinishWithSelection:(NSString*)selection;
- (void)OptionViewController:(OptionViewController*)OptionViewController didFinishWithSelection:(NSUInteger)selection;
@end
OptionViewController.m - :
- (void)madeSelection:(NSUInteger)selection
{
[delegate OptionViewController:self didFinishWithSelection:selection];
}
, :
- (void)OptionViewController:(OptionViewController*)OptionViewController didFinishWithSelection:(NSUInteger)selection
{
[self.navigationController dismissModalViewControllerAnimated:YES];
}
Apple, .