如何使用NSLog打印NSData对象的内容:-(void)post:(NSString*)msgto:(NSString*)link{NSString*myRequestString=[NSStringstringWithFormat:@"message=%@",msg];NSData*myRequestData=[NSDatadataWithBytes:[myRequestStringUTF8String]length:[myRequestStringlength]];NSMutableURLRequest*request=[[NSMutableURLRequestalloc]in
我习惯于编程和查看日志消息。我知道您曾经能够在调试Cocoa应用程序时使用NSLog()来跟踪消息。在iPhoneXcode开发环境中编码时“跟踪”消息的最佳方式是什么? 最佳答案 在Xcode中有一种更方便的方式来跟踪日志消息,那就是使用断点操作。在您想要添加printf或NSLog的代码行上,设置断点,然后按住Control键单击它并选择“编辑断点”。在出现的蓝色气泡中,单击右侧的+按钮打开断点操作:alttexthttp://idisk.mac.com/cdespinosa/Public/Breakpoint%20Action
是否可以将每个NSLog不仅写入控制台,还写入文件?我想准备这个而不将NSLog替换为someExternalFunctionForLogging。替换所有NSLog将是真正的问题。也许有可能从控制台解析数据或捕获消息? 最佳答案 选项1:使用ASLNSLog将日志输出到ASL(Apple的syslog版本)和控制台,这意味着当您使用iPhone模拟器时,它已经写入您Mac中的文件。如果您想阅读它,请打开应用程序Console.app,然后在过滤器字段中输入应用程序的名称。要在您的iPhone设备上执行相同操作,您需要使用ASLAP
我正在重写一个对象的描述方法。我需要知道如何打印对象的内存地址来替换下面代码中的{???}:-(NSString*)description{return[NSStringstringWithFormat:@"\nparmeterOne:%@\nparameterTwo:%@",{???},self.parameterOne,self.paramterTwo];}我希望它像这样在控制台中打印:parameterOne:12parameterTwo:sausages 最佳答案 要打印地址,请使用%p格式说明符和自指针:-(NSStrin
NSInteger在32位平台上是32位,在64位平台上是64位。是否有一个总是匹配NSInteger大小的NSLog说明符?设置Xcode3.2.5llvm1.6编译器(这很重要;gcc不这样做)GCC_WARN_TYPECHECK_CALLS_TO_PRINTF开启这让我有些悲伤:#importintmain(intargc,constchar*argv[]){@autoreleasepool{NSIntegeri=0;NSLog(@"%d",i);}return0;}对于32位代码,我需要%d说明符。但是,如果我使用%d说明符,则在编译64位时会收到警告,建议我改用%ld。如果我
我已经检查了几个关于如何将UIColor代码转换为HEX的链接,但是我不确定如何调用该方法以在NSLog中显示它们。我没有评论的声誉,所以作为问题发布是我最后的手段。我希望它在我在日志中运行我的应用程序时显示。其次,我在哪里输入RGB颜色编号(R=30,G=171,B=13)?我看到所有示例都使用Array[0],[1],[2]通常指的是索引位置,那么我在哪里添加颜色值?我有这个代码:-(NSString*)hexFromUIColor:(UIColor*)color{if(CGColorGetNumberOfComponents(color.CGColor)我检查过的链接:hexco
我已经检查了几个关于如何将UIColor代码转换为HEX的链接,但是我不确定如何调用该方法以在NSLog中显示它们。我没有评论的声誉,所以作为问题发布是我最后的手段。我希望它在我在日志中运行我的应用程序时显示。其次,我在哪里输入RGB颜色编号(R=30,G=171,B=13)?我看到所有示例都使用Array[0],[1],[2]通常指的是索引位置,那么我在哪里添加颜色值?我有这个代码:-(NSString*)hexFromUIColor:(UIColor*)color{if(CGColorGetNumberOfComponents(color.CGColor)我检查过的链接:hexco
我想在调试时启用NSLog,否则禁用它。一个很简单的事情是:#ifdefDEBUGNSLog(@"Mylog");#endif但是所有这些#ifdef和#endif都很无聊......:(所以我尝试了其他东西:(.pch是放置它的好地方)#ifdefDEBUG#defineNSLog(text)NSLog(text);#else#defineNSLog(text)#endif这项工作非常好(不是递归的)。但问题是NSLog有无限的参数。voidNSLog(NSString*format,...)如何解决这个问题以在预处理器模式下工作?--编辑--这段代码让你的NSLog变得更好:#if
我想在调试时启用NSLog,否则禁用它。一个很简单的事情是:#ifdefDEBUGNSLog(@"Mylog");#endif但是所有这些#ifdef和#endif都很无聊......:(所以我尝试了其他东西:(.pch是放置它的好地方)#ifdefDEBUG#defineNSLog(text)NSLog(text);#else#defineNSLog(text)#endif这项工作非常好(不是递归的)。但问题是NSLog有无限的参数。voidNSLog(NSString*format,...)如何解决这个问题以在预处理器模式下工作?--编辑--这段代码让你的NSLog变得更好:#if
为什么控制台输出在Xcode8/iOS10中显示不完整? 最佳答案 临时解决办法,只需在全局头文件中将所有NSLOG重新定义为printf即可。#defineNSLog(FORMAT,...)printf("%s\n",[[NSStringstringWithFormat:FORMAT,##__VA_ARGS__]UTF8String]); 关于ios-iOS10/Xcode8设备上的NSLog似乎被截断了?为什么?,我们在StackOverflow上找到一个类似的问题: