2011-04-07 46 views
1

好吧,這太奇怪了,我只想要一個理智的檢查來證明我不會因睡眠不足而產生幻覺。objective-c:NSMutableString必須以 n字符開頭

NSMutableString *s = [NSMutableString stringWithFormat:@""]; 
for(int i=0; i<9; i++){ 
    for (int j=0; j<9; j++){ 
     [s appendString:[NSString stringWithFormat:@"%d ", arr[i][j]]]; 
    } 
    [s appendString:@"\n"]; 
} 
NSLog(s); 

日誌窗口顯示除第一行以外的所有內容。 如果我將第一行更改爲

NSMutableString *s = [NSMutableString stringWithFormat:@"\n"]; 

它正確打印。

任何合理的解釋?

+6

是否有可能打印出數組的第一個元素,但是它正好在日誌中的時間戳後面出現,並且您沒有注意到它? :) – 2011-04-07 07:42:23

+1

對不起,沒有repro。檢查數組聲明中的大小。另外,'NSLog'需要一個字符串字符串和一個格式字符串(它應該給你一個警告) - 這不太可能導致實際的錯誤,但你應該將它改爲:'NSLog(@「%@」,s );' – 2011-04-07 07:55:30

+0

@Jonathan,很好的捕捉,這正是發生的事情,它掛在前一行的末尾。謝謝大家。我現在可以無噩夢地睡覺了。 – Haoest 2011-04-07 08:01:57

回答

1

從我的評論:數組的第一個元素是否可能被打印,但它是在日誌中的時間戳後面,而你沒有注意到它?

+1

哦,我的上帝尤里卡! – Haoest 2011-04-07 16:43:36

相關問題