2014-12-06 90 views
1

今天我才知道@import聲明實際上可以幫助自動鏈接框架。自動框架鏈接不起作用

好的,我創建了一個項目,增加了一個WebView。它扔了我一個錯誤,WebView是未定義的。好的,我寫了@import WebKit - 錯誤消失了,所有WebView方法都可以使用。

...我跑的應用程序,它與

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView)'

墜毀然後我手動添加的WebKit.framework和...它的工作。那麼這個@import聲明有什麼意義呢?自動鏈接被打開...

enter image description here

回答

0

import進口。因此,WebView這個名字與WebKit中的方法和其他東西一起被定義,並且您的代碼可以編譯。鏈接鏈接代碼 - WebView實際生活和呼吸並具有其存在的代碼 - 因此您的代碼可以運行

通常情況下,如果您使用@import導入框架,則會發生這兩種情況。由於導入,您可以編譯代碼,並且可以在框架中運行代碼,因爲導入也會執行自動鏈接。

但是您正在從筆尖實例化WebView 。因此,您還必須明確鏈接,否則當筆尖加載時您會崩潰。如果您要在一個筆尖中使用MapView - 您需要明確鏈接MapKit,否則在筆尖加載時會崩潰。