あるビューコントローラー(MainViewController)がデリゲートを介して別のビューコントローラー(JoinedViewController)と話すストーリーボードを使用した簡単なセットアップがあります。prepareForSegueまではすべて問題ありません。そこで、受信側のビューコントローラの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の削除:
@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;