하나의 viewcontroller (MainViewController)와 하나의 대리자를 통해 다른 (JoinedViewController)에게 이야기하는 스토리 보드를 사용하여 간단한 설정을했습니다. prepareForSegue까지 모든 것이 잘됩니다. 거기에, 나는받는 viewcontroller에 대한 roomData와 레이블의 텍스트를 선언하지만 둘 다 수신되지 않습니다.대리자가 데이터를받지 못함
MainViewController.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"JoinRoom"]) {
UINavigationController *navigationController = segue.destinationViewController;
JoinedViewController *joinedViewController = [[navigationController viewControllers]objectAtIndex:0];
joinedViewController.label.text = self.roomName;
joinedViewController.roomData = self.roomData;
joinedViewController.delegate = self;
}
}
MainViewController.h의 delcarations :
@interface MainViewController : UIViewController <JoinedViewControllerDelegate, UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (nonatomic, copy) NSString *roomName;
@property (nonatomic, weak) S3ListObjectsResult *roomData;
JoinedViewController.h 선언 :
@interface JoinedViewController : UITableViewController
@property (nonatomic, weak) id <JoinedViewControllerDelegate> delegate;
@property (nonatomic, weak) S3ListObjectsResult *roomData;
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (비 원자, 할당) id를 사용 해보세요. delegate; JoinedViewController에서 대리자를 합성하지만 릴리스하지 않도록하십시오. –