我看到苹果的样本之一这条线......iPhone - &符号,&符号是什么?
if (&ADBannerContentSizeIdentifierPortrait != nil)
究竟是什么这个符号做呢?
感谢
我看到苹果的样本之一这条线......iPhone - &符号,&符号是什么?
if (&ADBannerContentSizeIdentifierPortrait != nil)
究竟是什么这个符号做呢?
感谢
在C和语言的符号认为 “派生” 从它(如C++和Objective-C)返回一个变量(而不是内容)的地址。
在这种情况下,发生了什么事情是这样的:变量ADBannerContentSizeIdentifierPortrait
是一个弱连接变量。这意味着,在运行时它可能会丢失(在较旧的操作系统版本中就是这种情况)。现在,如果变量确实存在,“&”符号将返回一个地址。如果操作系统还没有此变量,则&符号返回nil
。
简而言之:该表达式检查操作系统是否已经提供变量ADBannerContentSizeIdentifierPortrait
。根据the documentation这个变量存在自iOS 4.2以来,所以if
表达式的主体只在iOS> = 4.2上执行。
发布后,我开始怀疑这样的事情会是原因,但你的回答比我想象的要多。谢谢。 – SpaceDog
什么样的对象'ADBannerContentSizeIdentifierPortrait'是? –
很好的问题。它是iAd Framework的一个变量。 – SpaceDog