Objective c 如何打印int*&;NSLog中的未签名整数*?

Objective c 如何打印int*&;NSLog中的未签名整数*?,objective-c,nslog,Objective C,Nslog,如何使用NSLog在日志中打印int*(int指针)和unsigned int* - (int) doSomethingWith:(unsigned int)Msg withWparam:(unsigned int*)wParam withParameter:(int *) lParam { NSLog(@"MSg:%d wParam:%u lParam:%u",Msg,wParam,lParam); //not working return 1; } 警告:格式指定类型为“u

如何使用
NSLog
在日志中打印
int*
(int指针)和
unsigned int*

- (int) doSomethingWith:(unsigned int)Msg withWparam:(unsigned int*)wParam withParameter:(int *) lParam
{
    NSLog(@"MSg:%d wParam:%u lParam:%u",Msg,wParam,lParam);
//not working
    return 1;
}

警告:
格式指定类型为“unsigned int”,但参数的类型为“unsigned int*”
%d
用于
int
。并且参数是指针,因此使用
*
访问指向的值

NSLog(@"MSg:%d wParam:%u lParam:%d",Msg,*wParam,*lParam);

%@
用于对象<代码>布尔不是对象。您应该使用
%d

根据数据类型
%@
的变化如下

For Strings you use %@
For int  you use %i
For float you use %f
For double you use %lf

+1谢谢@Joris,但是如果wParam没有值(意味着如果wParam为零),它将崩溃。如何检查现在正在使用:NSLog(@“MSG:%d wParam:%u lParam:%d”,MSG,*wParam,*lParam);您必须在登录之前检查:
如果(!wParam | |!lParam){/*无效参数*/}
@Downvoter请告诉原因?我向上投票给您,因为这里有愚蠢的巨魔,当他们不知道某个问题的答案时,他们会向下投票。但这个问题确实帮了我的忙,因此你得到了我的支持票。那么为什么你用%i表示int%d,%i表示有符号整数,%u表示无符号整数呢