我想检查一下是否有一些字符串NSLog()
已经打印出来了。如何检查NSLog输出?
有没有一种方法可以检查NSLog
语句输出的长度或从中创建一个字符串?这是为了一个概念证明,而不是一个实际的解决方案,所以最好的实践问题可以放在一边。
我想检查一下是否有一些字符串NSLog()
已经打印出来了。如何检查NSLog输出?
有没有一种方法可以检查NSLog
语句输出的长度或从中创建一个字符串?这是为了一个概念证明,而不是一个实际的解决方案,所以最好的实践问题可以放在一边。
尝试检查长度:
NSLog(@"%i",[string length]);
int len = [myString length];
if(len == 0){
NSLog(@"String is empty");
}
else{
NSLog(@"String is : %@", myString);
}
如果要检查字符串是否为空或不然后尝试:
if ((NSNull *)string != [NSNull null]){
}
这对我不起作用。我知道我正在将数据传递给NSLog,我知道它不是null。我想尝试从日志中取回它作为概念的证明。 – 2012-07-05 12:16:43
您可能需要您的NSLog()
输出重定向到一份文件。看看“Redirect NSLog to stdout?”。
这只会影响来自应用程序的NSLog()
调用。
int fd = creat ("/Users/parag/Desktop/my_log", S_IRUSR | S_IWUSR | S_IRGRP |
S_IROTH);
close (STDERR_FILENO);
dup (fd);
close (fd);
NSLog(@"this will be written to my_log");
// Now you can retrieve it back from the my_log as a proof of concept
你是否试图捕获来自你不控制的代码的'NSLog'语句,或者你可以用别的东西代替'NSLog'语句吗? – gaige 2012-07-05 11:36:27
我正在尝试捕获语句。 – 2012-07-05 11:37:59
嗯,我不知道应该怎么做,但我想起点可能是检查'stdout'文件。我认为NSLog正在写它,就像printf一样。我不知道的是如何以及何时'stdout'自己刷新。 – George 2012-07-05 11:49:13