如何将NSUInteger转换为NSString?

use*_*496 23 objective-c nsstring nsuinteger

你怎么把一个NSUInteger变成一个NSString?我已经尝试了,但我一直NSString都是0.

NSUInteger NamesCategoriesNSArrayCount = [self.NamesCategoriesNSArray count];  
NSLog(@"--- %d", NamesCategoriesNSArrayCount);  
[NamesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%d",    NamesCategoriesNSArrayCount]];  
NSLog(@"=== %d", NamesCategoriesNSArrayCountString);
Run Code Online (Sandbox Code Playgroud)

And*_*Ley 35

在使用支持进行编译时arm64,这不会生成警告:

[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
Run Code Online (Sandbox Code Playgroud)

  • 或`%zd`代表`NSUInteger`,没有进行类型转换. (9认同)

Raj*_*Raj 7

我希望你NamesCategoriesNSArrayCountStringNSString; 如果是,请使用以下代码行.

NamesCategoriesNSArrayCountString  = [NSString stringWithFormat:@"%d", NamesCategoriesNSArrayCount]];
Run Code Online (Sandbox Code Playgroud)

不是

[NamesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%d", NamesCategoriesNSArrayCount]];
Run Code Online (Sandbox Code Playgroud)


Pau*_*len 5

编译时arm64,使用以下内容以避免警告:

[NSString stringWithFormat:@"%tu", myNSUInteger];
Run Code Online (Sandbox Code Playgroud)

或者,在您的情况下:

NSUInteger namesCategoriesNSArrayCount = [self.NamesCategoriesNSArray count];  
NSLog(@"--- %tu", namesCategoriesNSArrayCount);  
[namesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%tu", namesCategoriesNSArrayCount]];  
NSLog(@"=== %@", namesCategoriesNSArrayCountString);
Run Code Online (Sandbox Code Playgroud)

(另外,提示:变量以小写开头.信息:这里)


Ree*_*ing 5

您还可以使用:

NSString *rowString = [NSString stringWithFormat: @"%@",  @(row)];
Run Code Online (Sandbox Code Playgroud)

其中row是NSUInteger.