在我的應用程序中,我試圖將數據從父視圖傳遞給子視圖。但是,當我運行應用程序時,委託方法未被調用。 這裏是我是如何實現的自定義委託代碼: parent.h將數據從父項傳遞給子項
@protocol SLBWallViewControllerDelegate <NSObject>
- (void) pictureToBeUploaded:(id)picture;
@end
@interface SLBWallViewController : UIViewController <UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>
- (IBAction)createPotButtonPressed:(id)sender;
@property (weak, nonatomic) id <SLBWallViewControllerDelegate> delegate;
@end
parent.m
[self.delegate pictureToBeUploaded:info[UIImagePickerControllerEditedImage]];//i'm taking the pic from a uiimagepicker
child.h
@interface SLBPostViewController : UIViewController <SLBWallViewControllerDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *picture;
@end
child.m
#pragma mark - Wall View Controller Delegate
- (void)pictureToBeUploaded:(id)picture{
self.picture.image = picture;
}
有什麼不對或缺失?
也許'委託'是'無'在那一點。你在哪裏初始化和分配? – Alladinian
我沒有初始化委託,我在哪裏做? – HusseinB
好吧,既然你想發送一條消息到'self.delegate',這意味着你應該在某個時刻,在那之前,有'self.delegate = // ..一個Child實例'之類的東西。 – Alladinian