2

oneviewcontroller に整数値が含まれている iphone アプリを作成していますが、secondviewcontroller コントローラーにその整数値が必要です。

値はランダムになります。この整数値をidスコアに保存しました

このコードを使用していますが、整数値を取得できません。

CODE :ある UIView から別の UIview に整数値を渡す

整数値は、2 番目のビュー コントローラーで常にゼロになります。
どんな助けでも大歓迎です。
ありがとう。

私のコード:

FirstView.h ファイル

NSInteger myScore;  
id score;  
NSInteger totalscore;

.m ファイル

NSInteger *cal = (myScore * 100)/400  ;

        totalscore = cal;
        score = totalscore;

SecondView.h ファイル

 int scorevalue ;

SecondView.m ファイル

FirstViewController *firstVC = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
value = firstVC.Score;
NSLog(@"SCORE : %d" ,value );
4

4 に答える 4

3

例:

int値4をFirstViewControllerに格納する必要がある場合は、

[[NSUserDefaults standardUserDefaults] setObject:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];

SecondViewControllerでgetを次のように取得できます。

int value = [[NSUserDefaults standardUserDefaults] objectForKey:@"integer"]
NSLog(@"integer = %d", [[NSUserDefaults standardUserDefaults] objectForKey:@"integer"]);

それが完全に機能することを願っています。

于 2011-07-27T11:51:26.047 に答える
0

「id」はオブジェクトを表すため ( ref を参照)、データ型が必要です。

として宣言する代わりに、それ自体idとして宣言しintます。

何かのようなもの、

int score;

また

NSInteger score;

編集:

また、プロパティを追加して合成します。.h で

@property(nonatomic,assign) NSInteger score;

.m

@synthesize score;

最初のView Controllerで、値をsecondViewに渡します。

NSInteger *cal = (myScore * 100)/400  ;
totalscore = cal;
score = totalscore;
secondViewObj.score = score;
于 2011-07-27T10:59:33.653 に答える
0

簡単な方法は、NSUserDefault に値を格納し、secondviewcontroller の NSUserDefault から整数の値を取得することです。

于 2011-07-27T11:10:36.940 に答える
0

これを SecondViewController の .h ファイルに取り込みます

int value;

SecondViewController で以下の関数を作成します

-(void)setValue:(int)number{
    value=number;
}

Now In First View Controller では、次のようにします。

ParentViewController *objSecond = [[ParentViewController] initwithNibName:@"parentView.xib" bundle:nil];

[objSecond setValue:15]; // Pass actual Value here
[self.navigationController pushViewController:objSecond animated:YES];
[objSecond release];

ここで、secondViewController の viewWillAppear メソッドにこれを記述します。

-(void)viewWillAppear:(BOOL)animated{
      myValue = value;
}

手書きなので誤字脱字がないか確認してください。この助けを願っています。

navigationContoller を使用していない場合は、次のようなことができます。

SecondViewControler *objSecond = [[SecondViewController] initwithNibName:@"secondview.xib" bundle:nil];
[objSecond setValue:15]; // Pass actual Value here
[objSecond viewWillAppear:YES];
[self.view addSubview:objSecond];
[objSecond release];
于 2011-07-27T11:43:00.767 に答える