当我在调试我的应用程序时看到这个时,这很奇怪。
int iTag = btnTemp.tag; //btnTemp.tag = 1
NSString *strFriendID = [NSString stringWithFormat:@"%i",iTag];
将 strFriendID 作为空字符串。
int iTag = btnTemp.tag; //btnTemp.tag = 1
NSString *strFriendID = [NSString stringWithFormat:@"%d",iTag];
将 strFriendID 作为 1 给了我。
这怎么可能发生?
答案 0 :(得分: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);
Out Put
2012-03-26 10:32:02.899 Leaves[506:f803] Str 1
2012-03-26 10:32:02.901 Leaves[506:f803] Str 1
两个都给了我1个
答案 1 :(得分:1)
根据Apple:
%d, %D and %i all represent Signed 32-bit integers.
所以是的,奇怪的是%i没有用,但是%d工作并不是那么奇怪。
或许btnTemp.tag在那时为空