很奇怪 - %我没有为整数工作,%d呢?

Nit*_*ish 6 iphone integer objective-c nsstring ios

我在调试我的应用程序时看到这一点非常奇怪.

int iTag = btnTemp.tag;    //btnTemp.tag = 1
NSString *strFriendID = [NSString stringWithFormat:@"%i",iTag];  
Run Code Online (Sandbox Code Playgroud)

给了我strFriendID作为空字符串.

int iTag = btnTemp.tag;       //btnTemp.tag = 1
NSString *strFriendID = [NSString stringWithFormat:@"%d",iTag];
Run Code Online (Sandbox Code Playgroud)

给了我strFriendID1.

怎么会发生这种情况?

Hir*_*ren 2

我不知道你为什么得到这个答案,但是当我读到你的问题时,我在我的项目中尝试过,但我得到了价值

UIButton *btnTemp = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
btnTemp.tag = 1;
int iTag = btnTemp.tag;    //btnTemp.tag = 1
NSString *strFriendID = [NSString stringWithFormat:@"%i",iTag];  
NSLog(@"Str %@", strFriendID);
NSString *strFriendID1 = [NSString stringWithFormat:@"%d",iTag];  
NSLog(@"Str %@", strFriendID1);
Run Code Online (Sandbox Code Playgroud)

输出

2012-03-26 10:32:02.899 Leaves[506:f803] Str 1
2012-03-26 10:32:02.901 Leaves[506:f803] Str 1
Run Code Online (Sandbox Code Playgroud)

两者都给了我 1