这是关于视图控制器的shouldAutoRotateToInterfaceOrientation
方法中return语句的语法的一个相当基本的问题。
为了允许除了颠倒的肖像模式之外的所有视图,我实现了以下代码块:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
返回声明究竟在做什么?我知道它返回一个布尔变量,但它是如何确定是返回true还是false?这是return语句中的一种隐式if语句吗?即将:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
if (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown)
return YES;
}
技术上是相同的,只是更明确地说明了?
感谢您的澄清!
答案 0 :(得分:8)
(something != something_else)
之类的比较结果是BOOL
值。如果比较结果为true,则表达式(....)
采用值YES
(与TRUE
相同)。
这不是隐式转换,而是比较的工作方式。