2014-10-15 5 views
-1

Мне нужно передать некоторые данные предыдущему контроллеру представления, в чем проблема с моими кодами? в этом коде «contactViewController» мой первый контроллер представления и «groupViewController» мой второй контроллер представленияпередавать данные с помощью проток

//ContactEditVC.h (firstViewController) 

#import "GroupEditTVC.h" 

@interface ContactEditVC : UIViewController <SecondViewControllerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate> { 
    UIImageView * imageView; 
    UIButton * choosePhotoBtn; 
    UIButton * takePhotoBtn; 
    UIButton * btnGroup; 
} 

@property (nonatomic, strong) NSString *groupName; 


--------------------------------------------------- 
//ContactEditVC.m (firstViewController) 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if([[segue identifier] isEqualToString:@"selectGroup"]){ 
     //get selected contact 


     //pass selected contact to MyContactAppViewController for editing 
     GroupEditTVC *destViewcontroller=segue.destinationViewController; 
     destViewcontroller.delegate=self; 

    } 
} 


-(void)viewWillAppear:(BOOL)animated 
{ 
    self.txtFname.text=groupName; 

} 

- (void)dataFromController:(NSString *)data 
{ 
    groupName=data; 
} 

и на втором контроллере Vie:

@protocol SecondViewControllerDelegate <NSObject> 
- (void)dataFromController:(NSString *)data; 
@end 

@interface GroupEditTVC : UITableViewController <UIAlertViewDelegate> 

@property (retain) id <SecondViewControllerDelegate> delegate; 

@end 
--------------------------------- 
//GroupEditTVC.m (secendViewController) 


#import "ContactEditVC.h" 

@interface GroupEditTVC() 
@end 

@synthesize delegate; 



- (IBAction)donePressed:(id)sender { 
    [[self delegate]dataFromController:@"blabla"]; 
    [self dismissViewControllerAnimated:YES completion:nil];  
} 
+0

В коде нет ничего плохого. Так что, пожалуйста, скажите мне, в чем проблема, с которой вы столкнулись. – iHulk

ответ

0

Устанавливает некоторые контрольные точки в - (пустоте) prepareForSegue: (UIStoryboardSegue *) segue отправитель: (id) отправитель. Я предполагаю, что [идентификатор segue] не равен тому, что, по вашему мнению, должен быть, и, таким образом, он никогда не войдет в блок кода внутри оператора if.

+0

i установить точку останова, данные в dataFromController метод return nil, я не знаю почему? –