【发布时间】:2011-12-11 14:54:34
【问题描述】:
您好,我的代表没有将图像和一些字符串传递给我的第二个导航控制器。任何人都可以看到有什么问题吗?我创建了 ImageAndTextDelegate.h 、 PhotoEditViewController.h/.m 和 PreviewFrameViewController.h/.m 。基本上在选择一些图像并在 photoedit 中输入一些文本之后。我想使用我的委托方法将数据发送到 previewframe。
//ImageAndTextDelegate.h
@protocol ImageAndTextDelegate
-(void)passImage:(UIImage*)image;
-(void)passMainText:(NSString*)maintext withSubText:(NSString*)subtext;
@end
//PhotoEditViewController.h #import "ImageAndTextDelegate.h"
@interface PhotoEditViewController : UIViewController<UINavigationControllerDelegate,UIImagePickerControllerDelegate>{ IBOutlet UITextField *mainText; IBOutlet UITextField *subText; IBOutlet UIImageView *imageView; IBOutlet UIButton *previewPictureButton; }
@property (nonatomic,retain) UITextField *mainText; @property (nonatomic,retain) UITextField *subText; @property (nonatomic,retain) UIImageView *imageView; @property (nonatomic,retain) UIButton *previewPictureButton; @property (nonatomic,assign) IBOutlet id<ImageAndTextDelegate> delegate; -(IBAction)previewPicture:(id)sender; @end
//PhotoEditViewController.m
#import "PhotoEditViewController.h"
#import "PreviewFrameViewController.h"
@implementation PhotoEditViewController
@synthesize delegate;
-(IBAction)previewPicture:(id)sender{
PreviewFrameViewController* prvc = [[PreviewFrameViewController alloc]init];
[delegate passImage:imageView.image];
[delegate passMainText:mainText.text withSubText:subText.text];
[self.navigationController pushViewController:prvc animated:YES];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
//PreviewFrameViewController.h #import <UIKit/UIKit.h> #import "ImageAndTextDelegate.h" @interface PreviewFrameViewController : UIViewController<ImageAndTextDelegate>{ IBOutlet UIImageView *myImage; IBOutlet UILabel *main; IBOutlet UILabel *sub; } @property (nonatomic,retain) UIImageView *myImage; @property (nonatomic,retain) UILabel *main; @property (nonatomic,retain) UILabel *sub; @end
//PreviewFrameViewController.m
#import "PreviewFrameViewController.h"
#import "PhotoEditViewController.h"
@implementation PreviewFrameViewController
@synthesize myImage,main,sub;
-(void)passImage:(UIImage *)image{
myImage.image = image;
}
-(void)passMainText:(NSString *)maintext withSubText:(NSString *)subtext{
main.text = maintext;
sub.text = subtext;
}
-(IBAction)goBack:(id)sender{
[self dismissModalViewControllerAnimated:YES];
}
- (void)viewDidLoad
{
[super viewDidLoad];
PhotoEditViewController* pvc = [[PhotoEditViewController alloc]init];
pvc.delegate = self;
}
【问题讨论】:
标签: objective-c model-view-controller delegates protocols viewcontroller