【发布时间】:2013-09-27 18:05:40
【问题描述】:
我有一个使用默认模板主详细信息制作的应用程序。我想将一个字符串从详细视图传递到主视图,点击一个按钮。我使用了这段代码:
Detailviewcontroller.h
@protocol DetailViewControllerDelegate <NSObject>
- (void)passItemToMaster:(id)controller didFinishEnteringItem:(NSString *)item;
@end
@interface DetailViewController : UIViewController<UITextFieldDelegate>
{
NSString *itemToPassBack;
}
@property (copy) NSString *itemToPassBack;
@property (retain) id delegate;
@end
Detailviewcontroller.m
-(IBAction)passBack:(id)sender
{
itemToPassBack = [[NSString alloc] initWithFormat:@"PassedBack"];
[[self delegate] addItemViewController:self didFinishEnteringItem: itemToPassBack];
[self.navigationController popViewControllerAnimated:YES];
}
Masterviewcontroller.h
@interface MasterViewController : UITableViewController <DetailViewControllerDelegate>
@property (nonatomic) NSString *returnedItem;
@end
Masterviewcontroller.m
-(void) passItemToMaster:(id) controller didFinishEnteringItem: (NSString *)item
{
returnedItem = item;
NSLog(@"This was returned from secondPageViewController");
}
如何在主视图中获取对象? nslog 不显示任何内容。
【问题讨论】:
-
[self delegate] 不是 nill 吗?
标签: iphone ios delegates master-detail