我想檢查一下是否有一些字符串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