2012-04-23 9 views
0

なし整数からポインタを作りますただしたい ありがとう初期化は、ここでのコードだ私は、インデックスの文字を取得しようとすると、私はこの警告が</p> <p>初期化キャスト</p> <p>なし整数からポインタになりましたキャスト

+0

質問は何ですか? – Jasper

+2

ああ、とにかく、あなたは変数名として 'char'を使うべきではありません。これはcの原始型です。 – Jasper

答えて

2

- (unichar)characterAtIndex:(NSUInteger)index 

NSStringからの方法です。 unicharを返します。NSStringは返しません。変数がNSStringポインタであると宣言していますが、unicharは整数の背後に格納されています。

あなたのラインはサイドとして

unichar character = [string charachterAtIndex:random]; 

する必要がありますがC.

0

[NSString characterAtIndex]は文字列オブジェクトではなく文字を返します。だからあなたはそれをNSStringという名前のchar(あるいは何か他の名前)に割り当てることはできません。あなたが言うことができます。

unichar ch = [string characterAtIndex:random]; 
0

での予約語は基本的に、コンパイラが

を書き込むことであることを警告しているよう、あなたの変数のcharを呼び出すことはできません注意してください
NSString * name = [string characterAtIndex:random]; 

返される文字(unsigned long)が参照するアドレスにNSString *へのポインタを格納しています。 あなたはNSStringのように結果の文字を持っている必要がある場合は、NSStringのオブジェクトへのポインタを返す

[NSString substringWithRange: NSRangeFromString([NSString stringWithFormat: @"%d-%d", random, 1])]; 

のようなメソッドを使用する必要があります。

関連する問題

 関連する問題