0

この方法は私には機能しません。私は数分間働いています。私はどういうわけかできませんでした。

これは私のコードです。

- (IBAction)donebutton:(id)sender {
    AddTaskViewController *addtask = [[AddTaskViewController alloc]initWithNibName:@"AddTask" bundle:nil];
    addtask.testlabel.text = self.zaman1.text;
    [self dismissViewControllerAnimated:YES completion:nil];

}

すべてが正常ですが、機能していません。そうではありませんか?違います?

4

3 に答える 3

1

この文字列をviewWillAppearメソッドに割り当てる必要があります.IBOutlets(testlabelIBOutlet UILabel *であると想定しています)は、ビューが初期化されるまで構成できません。これで問題が解決しない場合は、エラーの内容を指定してください。

于 2013-04-23T23:46:00.397 に答える
0

より良いアプローチは、 にNSString*プロパティを作成することAddTaskViewControllerです。次のように実行できます。

以下AddTaskViewController.hを追加します。

@property (nonatomic, strong) NSString* myLabelsText;

次に、AddTaskViewController.mこれを必ず追加してviewWillAppearください:

self.testlabel.text = self.myLabelsText;

testLabeland を適切に宣言し、それらが合成されると仮定するmyLabelsTextと、View Controller は適切なタイミングで文字列を正しく適用し、関数を次のように変更する必要があります。

- (IBAction)donebutton:(id)sender {
    AddTaskViewController *addtask = [[AddTaskViewController alloc]initWithNibName:@"AddTask" bundle:nil];

    // Set the value on your new NSString* property and let the view controller handle the rest
    addTask.myLabelsText = self.zaman1.text;

    // Don't you want to 'present' the view controller rather than 'dismiss' after having provided it with data?
    [self dismissViewControllerAnimated:YES completion:nil];

}
于 2013-04-24T00:50:40.480 に答える
0

デリゲート プロトコルを使用し、前のビュー コントローラーでボタンのプロパティを設定する代わりに、文字列を返す必要があります。この質問は、デリゲート プロトコルの実装に役立つはずです。

DismissModalViewController AND データを返す

于 2013-04-24T01:22:13.727 に答える