我只是想知道這行代碼的意思,因爲我從來沒有見過它。在此先感謝Objective-C語法問題
- (NSString *)suit
{
return _suit ? _suit : @"?"; /* precisely this part */
}
我只是想知道這行代碼的意思,因爲我從來沒有見過它。在此先感謝Objective-C語法問題
- (NSString *)suit
{
return _suit ? _suit : @"?"; /* precisely this part */
}
這只是一個叫做suit
的函數,它返回一個NSString。
如果_suit不爲零,此函數將返回_suit (_suit ? _suit
這樣做。
否則,它會返回@「?」 (:@"?"
這樣做)。
(東西?somethingElse:somethingElseAgain)只是表示如果某件事情是真的,則返回somethingElse,否則返回somethingElseAgain。
換句話說,這是一個簡單的,內聯的方式來寫:
if (something) {
return somethingElse;
}
else {
return somethingElseAgain;
}
這就是ternary operator。它簡寫爲
if (_suit)
_suit;
else
@"?";
- (NSString *)suit
{
if(_suit)
return _suit;
return @"?"
}
@JesseNk在這種情況下,我建議你去學習C.全面正確。如果你不瞭解C,那麼在iOS開發中你會遇到嚴重的問題**。 C本身就是一個需要學習的大型項目,如果你想立即跳入iOS開發,Objective-C和臃腫的Cocoa Touch API,你會很快失去。 – 2013-03-20 05:57:09