我正在嘗試設置協議和委派。iPhone setDelegate以前分配的對象
我有一個問題,我希望設置一個委託給以前分配的對象。
我分配的對象需要委託給一個協議。這是如何完成的?
繼承人我的代碼。
//SendSMS.h
@protocol ModalViewDelegate
- (void)didReceiveMessage:(NSString *)message;
@end
@interface SendSMS : UIViewController <UITextViewDelegate, UITextFieldDelegate> {
MessageOptions *messageOptions;
LoginPage *loginPage;
IBOutlet UITextField *phonenumber;
IBOutlet UITextView *smsBody;
IBOutlet UIScrollView *scrollview;
}
-(IBAction)LoadMessageOptions;
@end
問題是,當該對象被壓入堆棧。它的代表不是它的自我。而是它之前的對象。
任何想法?
更新!
好吧,我設法設置我的代表[self.navigationController.viewControllers objectAtIndex:0]
這是rootviewcontroller。但是我有3個編譯器警告,指出這些方法在協議中找不到。他們是......但它編譯運行和工作。
在您創建它的類中,您可以將委託指定爲實現該協議的對象。檢查http://www.iprav.in/?p=57 –
我做了,但它設置代表自我。我不能委託給自己,因爲我有3個視圖,並希望視圖3傳遞數據來查看1.如果我可以跳過它,這將是毫無意義的通過自我兩次,這是我做的,但讓控制器在哪裏方法被設置在堆棧中。 – MrPink
如果您有對view1或其控制器的引用,那麼當您創建view3時,將該委託分配給該引用。 –