web-dev-qa-db-ja.com

intをNSStringに変換する

NSStringのランダムな整数を変換し、NSStringを別のNSStringに割り当てたいが、アプリがクラッシュする

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

int mynumber =(arc4random() % 1000 );

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

   NSLog(unique)

   NSString*test=unique;

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

unique文字列をnslogするときに値も出力します。

30
user1619187

Intを文字列に変更する場合

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue];
95
Tendulkar

これも機能します:

_NSString *str = [@(number) stringValue];
_

または、ドット表記を好む場合:

_NSString *str = @(number).stringValue;
_

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

51
d4n3
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);
1
Pandey_Laxman

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

NSLog(@"%@",unique);

0
BornCoder