我正在使用iOS 6自动布局进行开发
我想记录一条显示视图框宽的消息.
我可以在屏幕上看到textView.
但我得到的宽度和高度为零,我错过了什么?
NSLog(@"textView = %p", self.textView);
NSLog(@"height = %f", self.textView.frame.size.height);
NSLog(@"width = %f", self.textView.frame.size.width);
textView = 0x882de00
height = 0.000000
width = 0.000000
Run Code Online (Sandbox Code Playgroud) 我想在调试时启用NSLog,否则禁用它.一个非常简单的事情是:
#ifdef DEBUG
NSLog(@"My log");
#endif
Run Code Online (Sandbox Code Playgroud)
但所有这一切#ifdef
并且#endif
是无聊的...... :(所以我尝试其他的东西:( .pch是放的好地方)
#ifdef DEBUG
# define NSLog(text) NSLog(text);
#else
# define NSLog(text)
#endif
Run Code Online (Sandbox Code Playgroud)
这项工作非常好(不是递归的).但问题是NSLog有无限的论据.
void NSLog(NSString *format, ...)
Run Code Online (Sandbox Code Playgroud)
我如何解决这个问题才能在预处理器模式下工作?
- 编辑 -
此代码使您的NSLog更好:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif
Run Code Online (Sandbox Code Playgroud) 我习惯于编程并且可以查看日志消息.我知道你曾经能够NSLog()
在调试Cocoa应用程序时用它来追踪消息.在iPhone Xcode开发环境中编码时,"跟踪"消息的最佳方法是什么?
在典型的彩色终端中,存在可用于以不同颜色打印文本的转义序列.通常有8种颜色可供选择.我尝试在NSLog中使用标准的ANSI转义序列,但没有骰子.它不支持该机制.
是否有不同的方法使用NSLog以彩色打印到控制台(日志)?
谢谢.
在设备上运行时,NSLog信息会发生什么?文字在哪里?它得救了吗?因此,当在设备上运行时,它是一个很大的开销,还是有效地被发送到null?
我有一个我已经工作了几个月的Xcode项目.我从未遇到过NSLog的问题,但在升级到Xcode 4.2之后,没有任何东西会记录到控制台.我甚至尝试在viewDidLoad中抛出它:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Can anyone hear me?");
Run Code Online (Sandbox Code Playgroud)
没别的了.是否有其他人遇到此问题或知道解决方案?
如何使用NSLog打印NSMutableURLRequest?
从Objective C的背景开始,当我使用NSLog()
它时,它的前缀是带有日期时间戳的文本,但是当我print()
在Swift上使用时,它只打印文本
所以有一种方法可以让它打印时间戳,或者我做错了什么?
我正在尝试NSLog
我的NSData
对象的megs数量,但是目前我所能得到的只是字节数
NSLog(@"%u", myData.length);
Run Code Online (Sandbox Code Playgroud)
那么我将如何更改此NSLog
语句以便我可以看到类似的内容
2.00兆
任何帮助,将不胜感激.
我怎样才能做到这一点?什么是格式说明符?
例如,我有:
long long veryLong = // assume value here
NSLog(@"%f", veryLong); // of course wrong...
Run Code Online (Sandbox Code Playgroud) nslog ×10
ios ×5
iphone ×4
objective-c ×4
cocoa ×3
autolayout ×1
colors ×1
nsdata ×1
swift ×1
xcode ×1