【问题标题】:Question regarding passing data to the delegate in iOS关于在 iOS 中将数据传递给委托的问题
【发布时间】:2011-04-09 07:52:54
【问题描述】:

所以我有一个表格视图作为根屏幕和一个添加按钮,该按钮显示一个具有日期选择器的新屏幕。当我展示新视图时,我将根屏幕设置为委托。

现在,我需要将数据从 uidatepicker 屏幕传回其委托,但我不记得应该如何工作...

我知道我应该能够从新的 datepicker 视图调用根屏幕中存在的方法,但是我还是记不起语法了。

我知道我以前做过,但我已经有一段时间没有使用 Cocoa 了,我只是想回忆一下。

感谢您的帮助!!

【问题讨论】:

    标签: iphone delegates ios uidatepicker


    【解决方案1】:

    这应该足以刷新你的记忆。

    MyDatePickerViewController.h:

    @protocol MyDatePickerViewControllerDelegate;
    
    @interface MyDatePickerViewController;
    
    MyDatePickerViewController : UIViewController
    {
        id<MyDatePickerViewControllerDelegate> delegate;
    
        NSDate* selectedDate;
    }
    
    @property (nonatomic, assign) id<MyDatePickerViewControllerDelegate> delegate;
    @property (nonatomic, retain) NSDate* selectedDate;
    
    @end
    
    @protocol MyDatePickerViewControllerDelegate
    - (void)myDatePickerViewControllerDidFinish:(MyDatePickerViewController*)myDatePickerViewController;
    @end
    

    MyDatePickerViewController.m:

    @implementation MyDatePickerViewController
    
    @synthesize delegate;
    @synthesize selectedDate;
    
    
    - (void)dealloc
    {
        [selectedDate release];
        [super dealloc];
    }
    
    - (void)someMethodCalledWhenUserIsDonePickingDate
    {
        [delegate myDatePickerViewControllerDidFinish:self];
    }
    

    MyRootViewController.h:

    #import MyDatePickerViewController
    
    @interface MyRootViewController : UIViewController <MyDatePickerViewControllerDelegate>
    {
        ...
    }
    
    @end
    

    MyRootViewController.m:

    @implementation MyRootViewController
    
    - (void)myDatePickerViewControllerDidFinish:(MyDatePickerViewController*)myDatePickerViewController
    {
        NSDate* date = myDatePickerViewController.selectedDate
        // Do something with the date that was chosen
    }
    
    @end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      相关资源
      最近更新 更多