0

私はストーリーボードを使用した Xcode プログラミングの初心者です。「SecondViewController」から「View Controller」に値(ラベルのテキスト)を渡そうとしています。これが私のコードです:

ViewController.m

- (IBAction)showSecondView:(id)sender {
    NSLog(@"Trying..");
    // The identifier used here is set on the second view controller in the UIStoryboard.
    SecondViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondIdentifier"];
    NSLog(@"Test: %@",svc.labelTest.text);  //this print NIL!!
    svc.labelTest.text = @"GOOFY!!";
    [self.navigationController pushViewController:svc animated:YES];
}

SecondViewController.h

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController

- (IBAction)returnToFirstView:(id)sender;
- (IBAction)toTabBar:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *labelTest;

@end

SecondViewController.m

#import "SecondViewController.h"

@implementation SecondViewController
@synthesize labelTest;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

誰かが私を助けてくれますか?どうもありがとうございました!

ステファノ

4

1 に答える 1

1

ストーリーボードを使用している場合、使用しない理由- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

- (IBAction)showSecondView:(id)sender {-メソッドを置き換えます

と:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"SecondIdentifier"]) {
SecondViewController *svc = (SecondViewController *)segue.destinationViewController;
svc.labelTest.text = @"Goofy";
}
于 2012-04-29T11:33:35.737 に答える