2011-06-27 8 views
1

私は既にこのように開始するスレッドがたくさんあることを知っています。私は彼らの大部分がint型の値をNSIntegerに代入しようとしていることを読んでいますが、私が理解できるのはエラーを投げることです。しかし、私はこれが私が今やっていることだとは思わない。別の「初期化では、キャストのない整数からポインタを作る」質問

私がしようとしているのは、UISegmentedControlのselectedSegmentIndexの値を取得し、それをNSInteger変数に格納することです。 UISegmentedControlクラスリファレンスによると、このプロパティもNSIntegerです。

は、選択されたセグメントを識別するインデックス番号 をselectedSegmentIndex( であることが、最後のセグメントが触れ)。

- (IBAction) continueClick:(id)sender { 
    NSInteger *playerCount = [sender selectedSegmentIndex]; 

    GameController.numberOfPlayers = playerCount; 
} 

かなりシンプルでベーシック:

@property(アトミック)NSInteger selectedSegmentIndex

は、だからここのコードです。とにかく私はとにかく伝えることができます。

+0

[初期化は、キャストのない整数からのポインタを作成する]の複製可能です(http://stackoverflow.com/questions/4187488/initialization-makes-pointer-from-integer-without-a-cast) –

答えて

6

playerCountNSIntegerNSIntegerないポインタであるように、*を削除します。

NSInteger playerCount = [sender selectedSegmentIndex]; 

NSIntegerは数値型ではなくクラスです。

+0

十分に公正です。私はその情報を答えに加えました。ありがとう!さらに展開したり明確にしたい場合は、自分で回答を編集してください。あるいは、もしあなたが好きなら、あなた自身の答えを書いてください。どちらにしても。主なことは、もちろん、可能な限り最良の答えを得ることです。 – Trott