我看到蘋果的樣本之一這條線......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