30

でランダムな int 番号を変換してNSStringから NSString を別の値に割り当てたいのですNSStringが、アプリがクラッシュします

私は次のことをしています

int mynumber =(arc4random() % 1000 );

unique = [NSString stringWithFormat:@"%d",mynumber];

   NSLog(unique)

   NSString*test=unique;

最後の行を書くとクラッシュします。

文字列をnslogすると、値も出力されuniqueます。

4

4 に答える 4

100

intをstringに変更したい場合

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue];
于 2012-08-28T05:12:10.703 に答える
56

これも機能します:

NSString *str = [@(number) stringValue];

または、ドット表記を好む場合は、次のようにします。

NSString *str = @(number).stringValue;

NSNumberこれは、式ボックス化構文を使用してプリミティブ値を にボックス@(...)化し、そのstringValueメソッドを使用して に変換しNSStringます。これは、他のプリミティブ値 ( NSIntegerfloatdoublelong...) に対しても機能するはずです。

于 2014-01-21T12:44:33.583 に答える
1
NSString *anotherStr;
int myNumber = (arc4random() % 1000 );
NSString *stringNum = [NSString stringWithFormat:@"%i", myNumber];
anotherStr = stringNum; //assign NSString to NSString
// Here you can convert NSString to Int if you want.
NSLog(@"My number as NSString = %@", stringNum);
int getNumFromString = [stringNum intValue];

NSLog(@"My number from NSString = %i", getNumFromString);
于 2012-08-28T05:08:10.040 に答える
0

NSLogステートメントを誤って使用しました。次のように使用する必要があります。

NSLog(@"%@",unique);

于 2012-08-28T05:09:56.943 に答える