2011-06-14 105 views
0

當我調試我的iOS應用程序時,我總是使用NSLog打印出對象的內容。但任何時候遇到「無」對象時,程序都會崩潰。在Java中,如果一個對象爲null,它將打印「null」。有沒有辦法在Objective-C中做到這一點?如何打印一些東西,如果它是零,它將打印零 - iOS

+5

這很奇怪。它不應該崩潰。它應該只打印'(null)'。 – BoltClock 2011-06-14 16:41:08

+0

你可以粘貼你的'NSLog()'調用嗎? – BoltClock 2011-06-14 16:59:29

+0

我會打賭他使用'NSLog(theObject);'而不是'NSLog(@「%@」,theObject);'。 – Hollance 2011-06-14 17:57:29

回答

0

喜歡的東西:

if (questionableObject == nil) { 
    NSLog(@"questionableObject is nil."); 
} else { 
    NSLog(@"questionableObject is: %@", questionableObject); 
} 

我才真正遇到這個問題時,我將消息發送到使用零對象作爲參數NSLog的參數列表內的對象。類似這樣的:

if (questionableObject == nil) { 
    NSLog(@"questionableObject is nil."); 
} else { 
    NSLog(@"result is: %@", [something someMessage:questionableObject]); 
} 
1

你是什麼意思「打印出物體的內容」?如果你解引用一個零指針,那會導致一個問題。如果你只是打印指針,那應該沒問題。你也可以毫無問題的發送消息給零,所以你可以這樣做:

NSLog(@"theObject is: %@", [theObject description]);