2012-04-29 8 views
0

Xcodeでメインとフリップサイドのビューを持つユーティリティアプリケーションテンプレートを使用しています。 メインビューではL0というプロパティラベルがあります。私はそのラベルをフリップサイドビューにコピーしようとしています。フリップサイドビューで 、私はiPhoneユーティリティアプリケーションで、ラベルテキストがFlipSideViewで更新されない

@property (weak, nonatomic) IBOutlet UILabel *label; 

それは、.mファイル

@synthesize label = _label; 

で合成されたと宣言しているし、私のprepareForFegue方法は次のとおりです。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([[segue identifier] isEqualToString:@"showAlternate"]) { 

    FlipsideViewController *fsv = (FlipsideViewController *)[segue destinationViewController]; 
    fsv.label = self.L0; 
    fsv.delegate = self; 
}} 

しかしラベルのテキスト私がNSLog fsv.label.textをprepareForSegueに書くと、L0.textの値に正しく設定されていることがわかりますが、flipsideviewは変更されません。

私は何が間違っているのですか?

答えて

4

prepareForSegueの時点で、宛先ビューコントローラが作成されましたが、ビューがロードされていません。したがって、ラベルであるときにラベルに割り当てられたものはすべて上書きされます。これを確認するには、labelプロパティを使用する前にlabelプロパティを記録します。これはnilになります。

代わりに宛先VCには文字列プロパティが必要です。これは、prepareForSegueで目的のテキストを設定します。次に、viewWillAppearのこの文字列プロパティからラベルのテキストを設定します。

+0

ありがとうございます。あなたは私に何かを教えた。偉大な作品 –

+0

ありがとうマスター:) –

関連する問題