2013-03-20 46 views
-1

我只是想知道这行代码的意思,因为我从来没有见过它。在此先感谢Objective-C语法问题

- (NSString *)suit 
{ 
    return _suit ? _suit : @"?"; /* precisely this part */ 
} 
+0

@JesseNk在这种情况下,我建议你去学习C.全面正确。如果你不了解C,那么在iOS开发中你会遇到严重的问题**。 C本身就是一个需要学习的大型项目,如果你想立即跳入iOS开发,Objective-C和臃肿的Cocoa Touch API,你会很快失去。 – 2013-03-20 05:57:09

回答

4

这只是一个叫做suit的函数,它返回一个NSString。

如果_suit不为零,此函数将返回_suit (_suit ? _suit这样做。

否则,它会返回@“?” (:@"?"这样做)。

(东西?somethingElse:somethingElseAgain)只是表示如果某件事情是真的,则返回somethingElse,否则返回somethingElseAgain。

换句话说,这是一个简单的,内联的方式来写:

if (something) { 
    return somethingElse; 
} 
else { 
    return somethingElseAgain; 
} 
2
- (NSString *)suit 
{ 
    if(_suit) 
     return _suit; 
    return @"?" 
}