我只是想知道这行代码的意思,因为我从来没有见过它。在此先感谢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