0

下部の編集を参照してください

私はUtilityViewiPhone 用のアプリケーションを作成しており、から値を変更できるようにしたいと考えていますFlipsideViewController。FlipsideView から MainView に切り替えるたびに、FlipsideView で変更したテキスト フィールドの値が 0 にリセットされているように見えるという問題がありますMainViewController.mflipsideViewControllerDidFinish:

playToInt = [controller.playTo.text intValue];

computerMoveSpeed = [controller.aiSpeed.text intValue];

テキスト フィールド 'playTo' は整数 'playToInt' と調整され、テキスト フィールド 'aiSpeed' は整数 'computerMoveSpeed' と調整されます。ViewDidLoad が再度実行された場合でも、これにより値が保存されるはずですが、両方とも 0 にリセットされているようです。

if (playToInt != 10 || computerMoveSpeed != 3)   
{
  playBool = true;
} 
else 
{
  playBool = false;
}

ブール値を使用して整数の値を変更できるため、ブール値が機能していることはわかっていますが、デフォルトでは常に0に戻ります。助けていただければ幸いです。前もって感謝します。

注: 前の質問「ユーティリティ アプリケーションの FlipSideViewController から mainviewcontroller に UISegmentedControl の値を渡す...」を参照しましたが、うまくいきません...インデックスまたはスイッチを使用するには、可能な値が多すぎます。

編集:私は本当にうまくいっていると思う何かを試しています...私はそれが間違った構文か何かを持っているように感じます...私はMainViewController.mにあります:

computerMoveSpeed = [FlipsideViewController.aiSpeed.text intValue];

playToInt = [FlipsideViewController.playTo.text];

編集:最後のものに似たものがありますが、助けを借りて作業する可能性が高くなると思います...

FlipsideViewController.m私が持っている

_playToNumber = [_playTo.text intValue];

そしてMainViewController.m

playToInt = [controller.playToNumber];

どんな助けでも大歓迎ですが、いくつかの追加情報として、変数MainViewControllerの識別子が必要であるとの文字列について、次のように宣言されています... sの識別子があるかどうかはわかりませんが、もしあれば教えてください!playToNumberintint

編集: で関数MainViewControllerを使用するために使用可能な形式で値を保存する方法はありますか?prepareForSegueFlipsideViewController

編集: をロードしたときに初期値を取得しているだけであることがわかったViewDidLoadので、タイマーを使用して値を取得し始めました。MainViewController?からこれらの値にアクセスする方法を知る必要があるだけです。

4

2 に答える 2

0

デリゲートを使用して、値をに送り返しますMainViewController。デリゲートの使用方法については、このチュートリアルを参照してください。

于 2012-12-15T05:32:46.417 に答える
0

このタスクを実行するには多くの方法がありますが、

1.NSUserDefault _

フォロー・マ・アンサー・リンク

2.使用Getters, setters, property

フォロー・マ・アンサー ・リンク

編集

必要な場合、intまたはNSInteger保持する必要がない場合は、そのまま
実行してください

@property(nonatomic) NSInteger YourIntValue;

_playToNumber = [_playTo.text intValue];

MainViewController *MVC = [[MainViewController alloc] init];
MVC.playToInt=_playToNumber;
[self.navigationController pushViewController:MVC animated:YES];
于 2012-12-20T07:14:29.510 に答える