iPhone - &符号,什么&符​​号?

时间:2011-10-15 16:25:45

标签: iphone ios

我在Apple样品之一上看到这一行...

if (&ADBannerContentSizeIdentifierPortrait != nil)

这个&符号到底是做什么的?

感谢

2 个答案:

答案 0 :(得分:6)

C中的&符号和从它“派生”的语言(如C ++和Objective-C)返回变量的地址(而不是 content )。

在这种情况下,发生的是:变量ADBannerContentSizeIdentifierPortrait是一个弱链接变量。这意味着,在运行时它可能会丢失(在较旧的OS版本中就是这种情况)。现在,如果变量确实存在,则&符号将返回一个地址。如果操作系统还没有此变量,则&符号将返回nil

简而言之:表达式检查操作系统是否已经提供变量ADBannerContentSizeIdentifierPortrait。根据do the documentation,此变量自iOS 4.2起存在,因此if表达式的主体仅在iOS> = 4.2上执行。

答案 1 :(得分:2)

&符号描述了对数据的引用。 ADBannerContentSizeIdentifierPortrait是一个简单的枚举值,因此不能为nil本身,但它的引用可以是。如果您需要更全面的答案,请添加更多代码。