我刚开始学习iOS开发。我NSLog
在我的代码中使用了一些语句,但它们似乎没有在任何地方输出。我的应用程序正在使用调试配置,并且我在 Xcode 中的 iPhone 模拟器中运行我的应用程序。我已经检查了 Xcode 控制台(在运行菜单下)和我的 Mac 上的 Console.app,但什么都没有。
可能是什么问题呢?
我刚开始学习iOS开发。我NSLog
在我的代码中使用了一些语句,但它们似乎没有在任何地方输出。我的应用程序正在使用调试配置,并且我在 Xcode 中的 iPhone 模拟器中运行我的应用程序。我已经检查了 Xcode 控制台(在运行菜单下)和我的 Mac 上的 Console.app,但什么都没有。
可能是什么问题呢?
确保您已Console
激活。为此,您可以:
NSLog()
模拟器上的输出确实显示在 Console Mac OS X 应用程序中。
转到All Messages
然后根据您的应用名称进行过滤以消除绒毛,然后再次运行。如果 NSLog 代码在程序执行期间实际被命中,您将在输出中看到它。
像这样使用NSLog()
:
NSLog(@"The code runs through here!");
或者像这样 - 使用占位符:
float aFloat = 5.34245;
NSLog(@"This is my float: %f \n\nAnd here again: %.2f", aFloat, aFloat);
你NSLog()
可以像这样使用它+ (id)stringWithFormat:(NSString *)format, ...
float aFloat = 5.34245;
NSString *aString = [NSString stringWithFormat:@"This is my float: %f \n\nAnd here again: %.2f", aFloat, aFloat];
您也可以添加其他占位符:
float aFloat = 5.34245;
int aInteger = 3;
NSString *aString = @"A string";
NSLog(@"This is my float: %f \n\nAnd here is my integer: %i \n\nAnd finally my string: %@", aFloat, aInteger, aString);
从评论中移出
你确定这条线NSLog
被执行了吗?尝试NSLog
在 main.m 中的自动释放池分配后立即插入
真的很奇怪。只是为了实验:尝试将 NSLog 输出重定向到如下文件:
freopen ("/out","w", stderr);
NSLog(@"1234567890");
如果有输出,那么您的stderr
.