30

我想在 中转换一个随机 int 数,NSString然后将 NSString 分配给另一个NSString,但它会使应用程序崩溃

我正在做以下事情

int mynumber =(arc4random() % 1000 );

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

   NSLog(unique)

   NSString*test=unique;

当我写最后一行时它会崩溃;

当我 nslogunique字符串时,它也会打印值。

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使用表达式装箱语法将原始值装箱为 a @(...),然后使用它的stringValue方法将其转换为NSString. 这也适用于其他原始值(NSInteger, float, double, long, ...)。

于 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 回答