I'm using NSLog to inspect a UITextView. I have the following logging statements in my code:
NSLog(@"textView: %@",textView);
NSLog(@"textView.frame: %@",textView.frame);
NSLog(@"[textView frame]: %@",[textView frame]);
Run Code Online (Sandbox Code Playgroud)
And in the output to the console, i get the following:
2010-11-29 22:00:38.252 MenuMaker[57602:207] textView: <UITextView: 0x3b3afe0; frame = (0 0; 320 387); text = 'blah...'; clipsToBounds = YES; autoresize = RM+BM; layer = <CALayer: 0x3b3afa0>>
2010-11-29 22:00:38.254 MenuMaker[57602:207] textView.frame: (null)
2010-11-29 22:00:38.254 MenuMaker[57602:207] [textView frame]: (null)
Run Code Online (Sandbox Code Playgroud)
The first line of output, since it contains the …
我正在开发一个跟踪不同歌曲的控制台应用程序.我正在努力让歌曲课程首先开始,并试图将已经为歌曲持续时间分配的nsnumber记录到nslog语句中:
//
// Song.h
// MusicCollection.15.9
//
// Created by Nicholas Iannone on 1/11/10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Song : NSObject {
NSString *songTitle;
NSString *songArtist;
NSString *songAlbum;
NSNumber *SongDuration;
}
@property (nonatomic, retain) NSString *songTitle, *songArtist, *songAlbum;
@property (nonatomic, retain) NSNumber *SongDuration;
-(id) init;
-(void) printSong;
@end
//
// Song.m
// MusicCollection.15.9
//
// Created by Nicholas Iannone on 1/11/10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import "Song.h"
@implementation Song …Run Code Online (Sandbox Code Playgroud) 如何使用NSLog显示以下字节?
const void *devTokenBytes = [devToken bytes];
Run Code Online (Sandbox Code Playgroud) 我观察到我的NSLog()所有消息都以错误级别记录Warning,但当我查看控制台时,我看到其他消息具有不同的错误级别,如Info"错误".
如何控制邮件的错误级别?
我正在尝试在应用程序上进行一些基本的日志记录.我把一些NSLog()s 扔进了我的代码,但是没有任何东西被打印到下面的Xcode控制台.字面上没什么,甚至没有应用程序启动时的一些启动信息等.
我已经将我的Xcode控制台设置为显示,All Output并且我已经打开了变量检查器和控制台:
我听说过Logging更改,并且引入了一个新的Console.app,它可以让我查看模拟器上的日志,所以我想也许日志会显示在那里,但是当我这样做时会发生很多系统消息我没有看到我正在制作的NSLog().
我错过了什么吗?我需要翻新一个新设置吗?我在哪里可以看到我的NSLog()?
编辑:
我是用iOS 11模拟器做的,没有控制台输出.当我切换到iOS 9模拟器时,我得到了所有的控制台输出.
NSLog在运输应用程序中做任何ging 是否可取?我知道我不应该大量使用循环.或者不要过于冗长地记录.但我不确定这样做是否是一个好习惯.
NSLog在发布之前删除所有s似乎也不是一个好习惯.
我一直在谷歌搜索过去几个小时,发现有没有办法用代码清除NSLog输出?
就像我们clrscr()在c中一样.因此,如果我们正在尝试打印我们最想要关注的内容并且有很多日志打印,那么我们可以将代码放在那里并保持我们的愿望登录以便于搜索.这可以通过在我的NSLog线上放置断点而不是点击来完成clear console.但问题是有没有办法以编程方式实现这一点?
我发现一些问题上堆栈溢出,但我din't满意答案一样这是说,我可以释放模式等禁用日志
或者我可以使用DLog,ALog或ULog作为要求,但我的问题是不同的..
任何人都可以帮助我吗?
提前致谢 :)
我在一个vanilla iPad单视图应用程序的viewDidLoad函数中运行以下代码:
/*
* Print the string. A lot.
*/
for (int i = 0; i < 300; i++) {
NSLog(@"%d\n", i);
NSLog(@"? ? ? ? ? ? ? ? ? \n");
}
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
2013-02-04 20:17:49.718 testplay[59585:c07] 228
2013-02-04 20:17:49.718 testplay[59585:c07] ? ? ? ? ? ? ? ? ?
2013-02-04 20:17:49.719 testplay[59585:c07] 229
2013-02-04 20:17:49.719 testplay[59585:c07] ? ? ? ? ? ? ? ? ?
2013-02-04 20:17:49.719 testplay[59585:c07] 230
2013-02-04 20:17:49.720 testplay[59585:c07] ? ? ? ? ? ? ? …Run Code Online (Sandbox Code Playgroud) 我想禁用NSLog()应用中的所有实例.我发现了一些代码:
#ifndef DEBUG
#define NSLog //
#endif
Run Code Online (Sandbox Code Playgroud)
但是将此代码添加到每个文件并不是一个好主意.我怎样才能让它变得更容易?
在更新到macOS Sierra之后,我相当古老且以前确定的应用程序已停止NSLog直接向控制台发送消息.相反,我必须在system.log中查看消息.
这是预期的行为,还是我需要执行一些迁移来恢复旧的行为?
nslog ×10
objective-c ×6
ios ×5
xcode ×3
iphone ×2
byte ×1
cocoa-touch ×1
macos-sierra ×1
nsnumber ×1
nsstring ×1
uitextview ×1