Passing back info between delegates on ObjectiveC

后端 未结 3 1590
执念已碎
执念已碎 2020-12-22 11:39

I need to pass back an NSMutableArray of photos between a CameraSessionView; how store the photos taken from camera on an NSMutableArray, and a TableViewController how uploa

3条回答
  •  余生分开走
    2020-12-22 12:13

    If you have to pass data from B View Controller To A view Controller

    1. Create protocol in B View Controller as

      @protocol BViewControllerDelegate 
      -(void)didclickonSubmit:(NSArray*)selected_array;
      @end
      
    2. Create an id, so that you can assign any class as its delegate class.

      @property (weak,nonatomic) id delegate;
      
    3. Call this method in B View Controller on submit button or wherever required.

      if (self.delegate && [self.delegate respondsToSelector:@selector(didclickonSubmit:)])
      {
      [self.delegate didclickonSubmit:myarray];
      }
      
    4. Create an object of B View Controller in View Controller A and assign A as delegate of B

      BViewController *b = [[BViewController alloc]init];
      b.delegate=self;
      
    5. Implement required protocol methods of B in A and access the array

        -(void)didclickonSubmit:(NSArray*)array
        {              
           NSArray *myarray =[[NSMutableArray alloc]initWithArray:array];
        }
      

      now you can use myarray,as u like it..

    hit link for sample project https://www.dropbox.com/s/002om8efpy6fout/passDataToPreviousContoller.zip Hope it helps..

    ****EDITED**** u can for sure assign tableViewController as delegate of UIView class.

    @protocol BView 
    -(void) didclickonSubmit:(NSArray*) selected_array;
    @end
    @interface BView : UIView
    @property (weak,nonatomic) id delegate;
    @end  
    
      in A i.e. your tableViewController create an object of B and assign your tableview controller as delegate of B .
    
    
    BView *b=[[BView alloc]init];                                                                                            
    b.delegate=self;
    

    Happy Coding..:)

提交回复
热议问题